May be you should give the DM compiler a try :
't tested it myself, but it can target
Windows 32 bits, Windows 16 bits, DOS 16 bits and DOS ... 32 bits as well !
Good standard C++ compliance (STLs available), etc... But you will find it
hard to integrate it into Visual Studio (Intel has done it for its compiler
through an Add-in), especially if you intended to debug 16 bits DOS
applications I think !...