Obviously the typeid() function is supposed to work with C++ but it doesn't..
Of course it works. It has been disabled. You have access to all the source code. The source code for Libc, the toolset, and most importantly the Arduino IDE. If you want typeid to be available change the IDE.
Or, use version 1.5. The compiler switches can easily be changed by modifying a text file.
...also dtostrf() would solve my above problem, but according to another forum post on here it is only available on AVR
Have you tried it?