I wrote a library for communication between 2 Arduinos. It features flexibility above all. It does everything except force you to use some protocol or other. You can specify as many message types as you like, with whatever parameters you like.
The best way to understand what I'm talking about is to read the example. This library tries to reach a balance between doing things under the hood and leaving customization of the protocol to you.
I have been wanting this library for a long time, and EasyTransfer and CmdMessenger didn't quite suit the needs of my application. So I wrote a new library, and based on the posts in this board, it sounds like a lot of you may find this useful as well.
See UComms at http://arduino.cc/playground/Main/GeneralCodeLibrary#Communication_code
Please let me know if you find bugs or if you use this successfully in a project!