FL Studio is written using Delphi and are many other properly functioning programs, the behavior you mention is all based out how event handlers are coded to respond to Windows' messages, it has nothing to do with the language the program is written in. The problem with BIAB is it's a DOS program that is merely using Windows as it's GUI. It has never been properly updated to function as a multithreaded event driven program. That has nothing to do with what language is being used. There are many programs written in C++ which have similar issues because their legacy code has never been properly updated.