Hey Bharat:
The way that I interpret the coloring scheme is as follows. I imagine that the colored areas are separate overlapping sheets of cutout paper. You can determine the access priviledges of a method by sticking a pin through the method name and if the pin goes through a particular color then it will have the priviledges associated with that color. For example, in the entity beans diagram, if you stick a pin through ejbSelect() it would not pass through any colors, if you stick a pin through setEntityContext() it would only pass through the red sheet, if you stick a pin through ejbPassivate() then it would pass through the yellow and red sheet, and if you stick a pin through ejbRemove() it would pass through all three colors.
In the of ejbCreate(), a pin would pass through blue and red whereas for ejbPostCreate()a pin would pass through blue, red and yellow. Since yellow indicates access to getPrimaryKey(), ejbCreate would not have this access and ejbPostCreate() would.
As you mentioned, it does appears that the BMT side of the message driven bean side is in error. It shouldn't have access to home. Can anyone please confirm or deny this?
Hope this helps.