Hi Pepzi, sorry for my delayed response, I've been quite busy.
I think I found the problem. At line 390 (of the version you sent me) you have this:
for s = 1 To 4 `positioning platform
Sub1platformID(s) = 100 + s
Next s
Then in your subroutine Sub3Stage2 you load another subroutine called orcwar1Vars. In that subroutine you have this:
I think you have crossed image numbers so the solution is to give either the Sub1PlatformId(s) or orcwar1imgnum different values. It would probably be best to change orcwar1imgnum but be careful. Something you change here may change something somewhere else. I suggest using the IMAGE EXIST() and SPRITE EXIST() commands to check that it hasn't been used yet.
Hope that helps.
Edit - Yep, I think that's the problem. After changing a few numbers around I got this after playing the first 3 levels.