THis is nuts. Seriously. .NET wastage is low and speed is terrific compared to something like VB6. Good enough that one simply does not need lower level langauges for something like trading.
Plus, .NET allows you to mix in C++ code as you wish (which in term allows mixing in assembler), for a perfect mixed model. Seriously, your optimizations are totally wrong here. I have done tests with dozens of instruments (heck, even getting tick data for the complete CME - trades, best bid, best ask - and my c# code did not even get into sweating ther. This is a couple of tens of thousands of messages per second. ONLY. No freaking need to go assembler for something that low volume

Plus, with all respect, given the complexitiy of assembler these days, I doubt you do a decent job compared to a C++ compiler
Rithmic you can call from any C/C++ compiler. NO assmebler code, No Vb6 - unless you want to do the linking yourself of have an assembler capable of linking in .lib files. The rithmic core API are .lib files for the C++ linker. Header files are C++ syntax. They decided not to provide dll's. Zen-Fire uses those .,lib files and some C++/CLI code to create .NET objects (exposing not all of the RIthmic API and some additional stuff that at least I can live without). The RIthmic support assemblies basically do stuff like compression that RIthmic uses themselves.
Zen-Fire to my knowledge is in the US - I have the location here somewhere. So, all traffic will route to the US and back. You can rent server space in the US to cut that in half, IF it makes a difference for you (which heavily depends on algos - I am perfectly fine with even a 1 second delay, as I trade possibly not in the second range). For european direct access I am simply not sure how to do that with them - I dont think their system is geographically dispersed.