This is pretty simple. When you use has_multilib_profile in the global scope, it gets executed by the machine doing the reading. This is fine for people doing a merge, but breaks cache generation for the tree, since it uses the profile of the machine doing the cache generation. Instead, you should switch (back) to using the multilib USE flag, which will be reintroduced with 2008.0's profiles.
Thanks, in CVS.