You might try DOSbox or somesuch dos emulator to run the 16-bit program, if it will run from DOS. I've had luck with things in general there. I don't think there is any way to directly run a 16-bit program on Vista 64 or Win7. Stinky, but true.
Another nice thing I've recently managed was making a virtual pc using Virtual PC 2007, a free program from Microsoft. You say "I want a PC with 512MB RAM and a 4GB HD" and it'll give you a window. Then you put in your WinXP, Win2k, Win95, Win3.11, DOS disk or whatever and install; it all happens in the little window. The VPC will boot, and has access to your real CD drive, serial ports, and LPT port. It also has a virtual floppy drive, and can access any virtual CD drives that your host PC has. Keyboard and mouse are detected as PS/2 devices on the VPC. It can also get on the network and share files that way. I've got a virtual Win2k box right now; it was neat to see the NTFS format bar fly along in like 10 seconds, it must've thought I had the fastest hard drive ever. The "hard drive" is just a file on the host PC that grows as needed; a 10GB HDD might only be 100MB file if that's all the VPC uses.
All in all it's pretty slick. Plus you never have to re-boot; your VPC can be saved while running, and next time you open it it'll be ready for you. You can have a dozen PCs that way if you want, or copy them and pass them around. "Hey, trade you a DOS8 box for a Win3.11 system!" Good times!