Well... last time I used Windows it was win98, which used a FAT32 file system. I ASSume everything is NTFS these days. The easiest way I found (other than just not using spaces in file/path names) was to use the "short name" (the "true name" in FAT32) "Docume~1" or so. I ASSume this will still work. Enclosing the name in quotes as you've done "should" work, but... it's an imperfect world.
Nasm provides a "trick", if you use the NASMENV environment variable. If the variable starts with a character other than "-", that character, rather than "space" is considered the "delimiter" - so "set NASMENV # -ic:\Documents and Settings\mypath\ #--prefix _ #-DWIN32 #... etc" (I'd add "-Ox" to turn on "optimization", too). See:
http://www.nasm.us/doc/nasmdoc2.html#section-2.1.28(I just noticed an error in the documentation: The "-i" search path should end with "\"! You've got it right.)
That would solve part of your problem, but not all. (probably wouldn't want the input file name in an environment variable).
I think using "Docume~1" is easiest, and I think it'll still work...
Congratulations on diagnosing the problem correctly!
Best,
Frank