Bugging this for antarus. I ran into this while doing modular-x fixes. It should probably be fixed in either emerge OR repoman. "useflag? || ( pkga pkgb )" doesn't work. See xemacs-21.4.17.ebuild r1.1 for an example - it brings in virtual/x where it shouldn't. however the correct form of "useflag? ( || ( pkga pkgb ) )" does work fine. Either repoman needs to detect the bad case, or emerge needs to behave correctly when it sees it.
Just to post an update, the check for this is basically written, however it uses a new parser to check DEPEND syntax, and I need a bit of time to integrate it into repoman.
This is fixed in 2.1.9 and there's a test case here: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ee36efb132157192655753c53dbd1c78c74d4a58