I actually went through the metanet tutorials when I was writing the physics of my engine about a month ago. From my understanding, their design limitations to which you are referring to are because they keep each collision shape 'inserted' into only 1 grid cell at a time - thus they only check the 9 cells (1 + 8 surrounding) for collision.
If you started inserting the object into multiple grid cells, you could collide with it fine.
Ah, now I get it. I realized what happens here. Even though the hitbox's size is bigger than the tilesize, it checks each side correctly, but it never checks the middle of the hitbox while moving, that's why it gets inside the tiles. It also occurs because, as you said, it checks just one cell at a time:
Ok then, I guess I should try to do what you said: inserting objects into multiple cells. I have to make some little changes in my code, but I guess it may work.
Thank you very much. If I succeed with that I'll tell you