OK, bottom line is that it seems Lazarus can not find the system libs if the cross-compiler is not the save version as the ppc native compiler. Neither can it sort it self out to build them as it is supposed to do when they are needed.
This means you need to build both ppc and ppcross and set the appropriate symlinks. You can then no long rebuild either because of the version lock on building fpc
Similarly if I wanted to build the distro ppcross to keep it in sync with the disto fpc I would need to go and find fpc 2.6 to build that ! It's all a bit a run around.
If Lazarus is to be able to cross compile without all this jiving around it needs to be able to cope with native fpc calling different versions of ppc and ppcross, which is what fpc will do in this situation. It currently seems to assume both are the same and goes looking in the wrong place for system.ppu and friends. It also does not build them when the cross TARGET is selected in the GUI, which is what it is advertised as being able to do.
I have now been able to create my win54 exe file but it took a LOT of time to find out what was happening and what was needed.
The resulting exe falls on its arse anyway, but that's another issue.
[EDIT] Thanks to some help on the mailing list this now runs perfectly on win64. The key factor was to compiler with win32 gui , not gtk2.