Actually Windows ran perfectly fine over DR-DOS. Perhaps you're thinking of the beta version which included the code to not allow Windows to run on any dos other than MS-DOS. The reason obviously is purely technical. Because of the way Windows 3.1 worked it required access to internal MS-DOS undocumented data structures which could not be guaranteed to work on any other DOS clone.
In fact Windows crashed on MS-DOS 4.0 because the internal data structures changed. MS-DOS 4.0 contains special code for backwards compatibility to trick Windows into thinking its running on the older version.
The agreement has been public since 2009.
http://www.groklaw.net/pdf2/NovvMS-104-8.pdf
> Microsoft also debated the exact language the message should contain. In the end, senior vice president Brad Silverberg said in a 1992 email that the message needed to steer users away from DR-DOS. "What the [user] is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS," Silverberg wrote.