John,
The NI engineer you spoke with a couple weeks ago was correct in that LabWindows/CVI 4.0.1 was the last version capable of compiling 16 bit executables. However, there are actually 2 different versions of CVI 4.0.1. One version is the 16-bit version made for Windows 3.1 and one is the version for 32 bit Windows. If you have the 32 bit version then you can only make 32 bit executables.
You can tell if you have the 32 bit or 16 bit version of CVI by checking if your version can create DLLs. The 32-bit version (Windows 98/95/NT) of CVI can be used to create DLLs, whereas the 16-bit version (Windows 3.x) cannot. The easiest way to tell if you have the 32-bit version is to go to your project workspace (the main window that is visible when CVI is opened)
and go to the Build menu. If Target >>Dynamic Link Library is an option, then the 32-bit version is installed.
If you have the 16 bit version of CVI, when installing make sure that the 16 bit CVI installation is in a different directory than any other versions of CVI. If you install in the same directory, you will get an error "Bad Header Files" when starting the CVI development environment.
Independent of your operating system, in theory if you have the 16 bit version of CVI, you will create 16 bit executables. However, we don't recommend or officially support using the 16 bit version of CVI on 32 bit operating systems simply because CVI wasn't developed or tested on those operating systems. Your best bet is to use the 16 bit version of CVI 4.0.1 on Windows 3.1.
I hope that this helps your application. If you have any other questions, feel free to let us know!
Shannon R.
Applications Engineer
National Instruments