BASIC is a language.
QBASIC is a particular BASIC interpreter (and QB is a BASIC compiler) for the BASIC language, for the DOS operating system, for the IBM PC compatible computer.
It has always been the case, as far as I know, that a programmer could choose to stick with portable code (perhaps using a cross platform library), or that he could avail himself of platform specific features. If a person, for example, uses Int 0x33 to access the DOS mouse driver, he has deliberately chosen to make his program DOS specific. Why should he expect the program to run unchanged in Windows?
It seems that QB64 has taken on the role of DOS emulator in addition to compiler. If the goal is to run existing QBASIC code unchanged on modern operating systems, then running the original QBASIC within a DOS emulator, like DOSBox, is all that is required, and you don't need to write a whole new compiler. If instead, people are writing new code, why wouldn't they learn the modern interfaces so that their programs will work correctly on modern operating systems without emulation? In that case, the compiler would be just a compiler, and not a DOS emulator also.
I don't mean any disrespect to Galleon. I think he has accomplished a huge amount of work, and I think QB64 has made a lot of progress. It seems that QB64 is one of the main things keeping programmers around here active, and that by itself is worthwhile.
I certainly don't object to people writing platform specific code. I do it all the time. I don't object to people writing code for obsolete operating systems. As you guys know, most of the code I write is real mode DOS specific. I guess what I'm saying is that I am somewhat puzzled by the way QB64 seems to mix new and old. You're learning a new compiler, and new features that QBASIC on DOS didn't offer, but you're wanting to use the old DOS interfaces in the Win32 subsystem. I think that is different from writing DOS code that you expect to run in DOSBox or NTVDM.