But, I ran your xml & xsl through Xalan--one thing I noticed in the FO output are lots of nonsensical  (A-caret?) letters--I don't see why you need them.
Looks like *the* typical encoding problem: One (or more) of the posted files was probably UTF-8 encoded but interpreted as ISO-8859-1.
Also, running the FO output through FOP gave a warning that you have specified your column widths about 25% too wide. (Sum about 500K, specified IPD 417K or so.) This may be the source of your problem--your columns are too narrow, and your results would therefore be undefined.
Ahem, the table will simply overrun the margin. This is well defined.
Also, there were complaints about missing images...
O well. I thought we added this to the bug reporting instructions, but nobody seems to take them seriously. You can count bug reports whith a complex but still complete file set on the fingers of one hand.
J.Pietschmann