Windows 7 64-bit supports 32-bit programs under > Program Files(x86) < and has dropped support for 16-bit programs. This is documented on the Microsoft website if you want more info.
Even some 32-bit legacy programs don't work well under (x86), BUT MS offers an updated virtual machine program for Win7 Pro and above. (I think it's Pro+, but check). When you d/l and install, you get the same version of XP. I am using Win7 Pro 64-bit myself, so, I was able to d/l and install XP Pro 64-bit.
Now, the Intel CPU's still support 16-bit programs and OS's for backwards compatibility of legacy programs. So, the fact that Microsoft no-longer supports 16-bit programs under Windows 7 was/is an arbitrary decision on their part.
I can boot and run MSDOS 6.22 and Windows 98 from an attached floppy disk. Unfortunately, these OS's will only install on HDD Drive or can be installed on a floppy. I haven't tried it, but might be able to install on a ZIP drive if it registers as drive A:
As for your specific issue.... I have the same problem w/ 32-bit compilers. My solution was to install the XP-mode virtual machine and test under that OS. My IDE/Compilers seem to work okay w/ that arrangement. BUT XP-mode 64-bit does NOT support 16-bit programs either.
Another work-around I have implemented is to use an available PC loaded with a 32-bit OS that still supports 16-bit programs (debatable at best) such as XP Professional w/SP3 32-bit.
Wish I had better options to offer. I spent several weeks after I got my new system w/ Windows 7 Professional 64-bit pre-installed trying to set up other VM's such as Windows ME. Couldn't do it YET. LOL!!!
A final suggestion would be to open up the settings for NASM and make sure it always compiles source code as a 32-bit program.