If you are just looking for simple RPC and messaging, I would go with Blaze. The implementations are more mature and better proven, especially with respect to messaging. The messaging in Granite is based on Comet and still pretty new from what I remember. More details below...
Blaze DS is basically a stack that includes RPC and some simple messaging services over HTTP. Integration with Spring is achieved easily using the SpringFactory implementation of FlexFactory: just google the class name and you'll find the code. It doesn't offer any additional support for things Hibernate-related.
Granite DS is growing rapidly in terms of features. It competes more with LCDS than Blaze DS. It includes the ability to parse Hibernate object graphs and deal with lazy proxies in a clean fashion. They also have a tool called "Tide" that creates an analog of a Session in the Flex client to ensure uniqueness of entities. They also have explicit support for services exposed via Spring, EJB3 and Seam. Granite also has a utility for generating AS3 classes from your Java classes (although this not hard to write yourself if you want to).
I worked with Granite about a year ago and had some problems getting it properly parse object graphs; the Flash Player would throw some nasty low-level exceptions. My guess is that the documentation and implementation have matured since so that these are no longer issues. However, I'm still a bit hesitant to recommend it since I ran into issues and switching to Blaze immediately resolved them with no trouble at all.