The games that you develop using qbasic run under DOS. The PC speaker and 320x200 VGA/CGA graphics make it seem like a classic DOS game that was made in the early 90s.
Doom was made in the early 90's and certainly can be called a classic DOS game. However I fail to understand how QBASIC even comes close to approximating that experience. Additionally, it would seem that you are not describing "classic" DOS games from that era as much as you are describing the crap of the crop of the time.
Just because something creates "DOS games" doesn't instantly give those games a classic feel. That has to be added intentionally. The only games using the PC speaker after around 1993 were not "classics" as much as they were shareware cruft. Additionally, it sounds more like you are using "classic" to refer to text-based RPG games, which is a rather large generalization, and in no way requires a console interface.
Either way, suggesting anybody use QBASIC for any purpose is stupid. The assumption here is that if they produce a game, they want to get other people to try it as well. QBASIC cannot compile so they will have to distribute it as source, and hope anybody who wants to try it is not running a 64-bit OS and knows how to get QBASIC and knows how to use it to start the game. This directly flies in the face of the fact that they implicitly want to create "anything resembling a sophisticated, or even friendly, interface." Which undebatably QBASIC doesn't even begin to provide.
I have some experience with a couple different programming languages, but very little with creating anything resembling a sophisticated, or even friendly, interface. I've heard that Flash is a reasonable approach, but I know ZERO about programming in/with flash. I am also only self taught...
What would be a good way to create an RPG-style game? Prefer open/free type options. Willing to learn a new language.
Flash would be a good option, of course you would need to have Flash in order to work with it. I won't lie and say it's "simple" to make a game, but I've made a few simple games, such as a frogger game, pretty easily, so it can't be that bad. The language is called "ActionScript" and seems pretty powerful, if it is a bit confusing syntax-wise at times.
Barring that, I'd go with one of the .NET languages. I'd stay as far away from C and C++ unless you are planning to write an Operating System, since they will unnecessarily complicate things. Arguments about "being more portable" are also baseless, as in many ways C# and .NET are more portable to Linux then C or C++ are. (C & C++ are "source compatible", which means you would have to recompile it for each platform; and even then it's only theoretical, since you will almost certainly have to make changes to account for the different systems. With .NET, as long as you avoid using the various Windows-only framework components (which sort of necessitates creating a Console game) you can run it on Linux using Mono.
Of course, you could also get a similar and even better effect with Java, which is quite similar in many ways. The advantage here is that you can both use graphics as well as create an Applet that you could plop on a web page.