I'm not sure I have ever seen a redistributable package that includes .Net 1.0 and Service Packs so you might have to go down the route of managing your prerequisites.
The problem you will have is that any program written in .NET will require .NET Framework to already be installed. Otherwise you will get an error message as soon as you attempt to run your application.
You will need to create a bootstrapper program, written for example in C++, that can perform the checks for .NET. IF .NET is missing you can get your bootstrapper to install .NET 1.0, and then any SP you desire.
Once your bootstrapper has prepared the environment, it can simply launch your main .NET application.
I have done something very similar, I have a C++ component that checks and ensures Windows Installer 3.1 and that at least .NET 2.0 is installed. If either of these is missing I automatically install them before passing control to my main .NET application.
There are lots of good articles for checking which version of .net frameworks are installed. Usually all it takes it a RegistryKey check.
http://blogs.msdn.com/b/astebner/archive/2004/09/14/229574.aspx
http://stackoverflow.com/questions/198931/how-do-i-tell-if-net-3-5-sp1-is-installed