Unity: expensive to purchase license 1500$, not that great support for multi player, free version don't support graphics quality so is kind useless for commercial development.
UDK: no extensive support for multi player, royalty based, although high graphic quality the low support for multi player a major draw back.
Cry engine: no commercial development unless paid high values.
Hero: major draw back only supports 30% royalty, but high quality engine;
XNA: although looks great, and is been around for a good time since 2004, the lack of support not what to make one jump in to it. Low platform compatibility;
I think you should stick with Unity, it may not be as professional as you said but it's better than other solutions you mention (in your case).
Forget UDK, this is no doubt too hardcore for you and the fact they charge royalties is pathetic.
Cry Engine: it's very expensive from what i've heard (over a million $ apparently) and you'll need to learn programming, a lot!
Hero: Another one with royalty based payment... 30% + (20%~30% to the publisher) not much left for the developers
XNA: You shouldn't compare XNA because it's not a game engine, just a framework (more like a multimedia library) using C# and other .net languages. That too would be considered too difficult for you because it requires a lot of programming to have something like an engine.
As for Shiva3D, i took a look, lots of portability options but you'll still need to learn programming to use it, a lot too.
Bottom line, go learn C# so you can use it with Unity for your game logic.
A good place to start would be with Visual C# Express 2010 which is 100% free. I recommend installing XNA even if you don't plan to use it for a project. It is good practice and it'll come very handy with Unity. Start small like doing 2D stuff.
http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express