Having been required to straddle the boundary between real-mode DOS and Windows 16, there are probably some good reasons otherwise. Memory management back then was a mess. There were "DOS extenders", then DPMI servicers. Recalling that 16-bit Windows could run in several modes only complicated things. It really wasn't until the 386 and V86 mode that a console-mode Windows application became practical. Trying to do it on an 80286 was fraught with hazards.
OS/2 had a more interesting approach--a "bound" executable that included both PM and real-mode (DOS) versions of the executable. Depending on which mode the system was running in, the appropriate binary was loaded.