Unfortunately it is a mater of economics. There is very little money to be made selling Mac or Linux games. Now, that isn't, in and of itself, a reason to make your game engine Windows only. But, if there are features that you can add to make the game engine better that would require different codebases for different platforms, then you only do it for Windows because you probably can't get your money back on the Mac or Linux codebase. Cross-platform engines are nice, but they often result in less than optimal performance on every one of those platforms. So, open source will probably be the primary source of cross-platform game engines for the foreseeable future.