" in theory, a "well behaved" 16-bit application SHOULD be possible to run in 64-bit"
The problem is not only the bitness of the application, but the whole environment it expects to run in. DOS applications do expect to be in real mode, access a given memory layout (interrupt tables, video memory, etc) and being able to change segment registers, Win16 applications do expect their memory layout and Win16 API entry points within their address space, etc. etc.