You're a genius! I just opened my sprites file in TLP. In the View menu > Format, it was set to 1BPP. Never noticed the formats before. When set to NES format, it works as i expected to. One problem solved thanks!
I don't have the time tonight but tomorrow i'll try to fix the top left glitches with your suggestions.
And about the stack overflow, i thought i should go back to the infinite loop when i'm done updating the sprites. So that the next interrupt would call the vblank routine, ending the infinite loop. I should study the structure of some mini-games about this! Thanks Memblers