It took a bit of playing around, but think I've found a workaround for this....
I noticed in the docs for os.system() (Yes I RTFM!) it mentions that the subprocess.call() should be used instead.
So I had a go with subprocess.call() but I soon ran into very similar problems, it still didn't like the spaces in the path.
After a bit of playing around and using a bit of lateral thinking I decided to try using subprocess.call() to call 'cmd.exe' passing it the path to a program in 'Program Files' as a parameter.
Now, I don't have winamp installed on my pc, so I decided to try and fire up Audacity using the following code:
import subprocess
subprocess.call(r'C:\WINDOWS\system32\cmd.exe /C "C:\Program Files\Audacity\audacity.exe"')
And you know what?? It bloody works!
After that, I decided to try using os.system in exactly the same way (use it to fire up cmd.exe with the path to Audacity as a parameter):
import os
os.system(r'C:\WINDOWS\system32\cmd.exe /C "C:\Program Files\Audacity\audacity.exe"')
Guess what??
That worked too!
Woot woot!
You'll get a little cmd window that will pop-up alongside whatever program you fire up, but it will disappear when you close the program down again.
So, all you need to do is copy one of the bits of code posted above and then replace my path to Audacity with the path to your installation of Winamp!
Hope that solves your problem.
Cheers for now,
Jas.