I don't understand what you're trying to say.
That's because you need to use SPOFS
Just use the map tile coordinates you would use for BGPUT multiplied by 16.
No, it's not those. It's the variables that the FOR loop changes, I and J.
They are already determined because of the FOR loop. That's how FOR loops work.
Oh also, you're still spawning the enemy too much. You should only spawn it on one frame, or at the exact time that it should come on screen.
BGSCREEN layer, map width, map height will make the map have the desired size.
How did you do it? If you just do it and give it a map bigger it will obviously error. Are you even giving it the size of what you read or you're just giving it an arbitrary value and saying it's SB's fault?
ugh my 3DS can't load your screenshots