The ( problem in the board name should be fixed in the latest version 1.1.6 released earlier this week.
read this article http://arduino.cc/en/Hacking/BuildProcess
it will give you a better understanding on the compatibility.
The first thing to realize is that we talk about code compatibility. This means that both the IDE and Eclipse can compile the same code.
The second thing to ask is do you want
compatibility from Arduino IDE to eclipse.
or Eclipse to arduino IDE
or Arduino IDE from and to Eclipse (both directions)
Because the Arduino IDE provides functionality at the level of code preprocessing it is very hard to guaranteed 100% compatibility from the Arduino IDE to Eclipse. It is not my intention to add this preprocessing functionality to the plugin. (However if someone else wants to do it I don't care)
Because of this: when I talk about compatibility I talk about compatibility from Eclipse to Arduino only.
Because Eclipse has "less capabilities" code from Eclipse compiles as such in the arduino IDE.BUT
Shakespeare already stated a lang time ago "There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy".
So there is more than code only. There are also libraries, include paths and library paths.
When you import an Arduino library in Eclipse with the plugin the include path and library paths are changed for you.
When you compile Eclipse code in the Arduino IDE you need to provide this info to the Arduino IDE.
Luckily the Arduino IDE provides "more source functionality". Therefore a simple include of the header file of the library in the pde/ino file is enough to overcome this problem. It has to be the pde/ino file due to a short coming in the Arduino IDE.
Because this "extra" include (you already need to include the library header to use the functionality) is harmless in the Eclipse IDE you can have 100% compatible code.
You can have the IDE and eclipse "point" to the same folder so you do not have to move code around.
I hope this makes it clearer