Ok, I have found a solution that works, or at least that compiles :roll:
I have tried this "monster":
[pascal] for i := 0 to (128 * sizeof(SpriteEntry) div 4) - 1 do
pu32((@OAM_SUB[i])^) := pu32((@OAMCopySub[i])^);[/pascal]

As I have said before, it compiles, though it does not work as expected, because I get corrupted sprites. Hopefully it should be a wrong (or missing) typecast somewhere...
[size=9px]Bug hunting time[/size] :rambo: