This sounds as though you've got a corrupt startup file somewhere, but the prefetched file is being used instead of the proper one. If you have the XP cd with the correct service pack on it, put it in the drive and click Start -> Run... then type "sfc /scannow" (note the location of the space and type it without the quotes of course) and hit enter. This should initiate the system file checker which will scan through your system and restore any corrupted files.
After doing this, try turning the prefetcher off again and see if this works. If it does, clear out the contents of your %systemroot%/prefetch folder - this will make things start slowly the first time they run while the prefetch is rebuilt, but will return to a nice working speed in subsequent runs (assuming you retain the 1 setting and keep application prefetching on). If it doesn't work, post back and we'll see what we can do for you.
For more information on the prefetcher, read this.
What I do is turn off the prefetcher for applications but leave it on for boot (setting 2), but it's entirely up to you - play around with it a little and find out what seems to be fastest
After doing this, try turning the prefetcher off again and see if this works. If it does, clear out the contents of your %systemroot%/prefetch folder - this will make things start slowly the first time they run while the prefetch is rebuilt, but will return to a nice working speed in subsequent runs (assuming you retain the 1 setting and keep application prefetching on). If it doesn't work, post back and we'll see what we can do for you.
For more information on the prefetcher, read this.
What I do is turn off the prefetcher for applications but leave it on for boot (setting 2), but it's entirely up to you - play around with it a little and find out what seems to be fastest