There is a change in new compiler on how it resolves [Embed] metadata paths. (refer http://bugs.adobe.com/jira/browse/FBG-4671 )
The reason this behavior is different from Flex projects is they still use legacy compiler.
unfortunately I don't have the necessary permissions to view that jira ticket.
The path resolution in the new compiler has some drawbacks.
1. Having to add a bunch of "../../../" to the source path makes for less readable code.
2. Under the new scheme, any time you move a file, and potentially when you rename a package, you must update all the [Embed] metadata contained within.
3. Legacy projects will break in the new compiler. It will not be possible to work on the same project in both FB 4.6 and FB 4.7
Im not sure exactly what's going on under the hood, but it would sure be nice if Flash Builder could feed the compiler the project root as one of the locations to try resolving the path.
[Edit] Or, if we had the option in 4.7 to specify which AIR SDK we wanted to use on a per-project basis
You can refer to embedded assets either relative to the embedding file (though this is less portable, as you note) or relative to a rooted location (Mac/Unix OS root, source root(s), library-path SWC roots) using a leading forward slash (this is similar to how paths are used in HTML to refer to items from the webroot):
The forward slash approach should work in 4.6 and 4.7.
The special "Eclipse path" resolution is no longer supported in sourc ecode embedded paths in 4.7 (since those are not portable to command-line or ant builds).