I can address some of these concerns at least:

1. You can distinguish an embedded field vs a normal field by the fact that it contains dots. We can make the exception message more precise for these cases if deemed necessary.
2. Embedded fields can work over multiple levels

I cannot address the other things. I really don't know whether this feature will cause headaches in the future. At this point, I don't see why, but I'm not a fortune teller :) however, the internal implementation could be changed for a Doctrine 3 release without breaking BC with the end-user facing part.