I would have said, if it hadn't been doing this before, that it's QBasic was written for DOS, and likely didn't use the idle-loop, ie it just ran inside a FOR ... break; or WHILE (user doesn't chose exit) loop - because this would use 100% CPU usage. (DOS didn't care/know about ACPI/APM, etc. without drivers).
However, it is very curious that this behaviour has just started happening...
IIWM, I would just set the ntvdm.exe process to less than normal in task manager. Or try running QBasic in DOSBOX.