Your character's walking speed is key. As best I understand it, Coldstone moves the character in pixels based on his speed (= pixels per frame, right?) and then uses the character's pixel position to calculate his grid position. The reverse way (grid position -> pixel position) would seem more reasonable to me, but that's the way it works.
This means that if your character's speed is high enough, he may sometimes appear to be standing in a blocked square at times - that is, he's moved far enough in pixels that he's "halfway" between the unblocked square and the blocked one onscreen, but Coldstone considers him to be fully in the unblocked square. Although I haven't personally seen the extreme case of this, it might be possible for a fast enough character to actually pass right over a blocked square.
I had problems with this during a quick game I whipped up during an late beta, where a character, standing due north of a blocked square, could move 1 square west, 1 square south, and 1 square east and find himself (having moved a net distance of 1 square south) to now be due south of the same blocked square. Explain that?!
The solutions that I would suggest are to either a) make all blocked areas at least two squares thick (which will prevent the player from accidentally walking through a wall, but may still lead to him standing partially "in" the wall at times) or always make sure the player's speed is some even fraction of your tile dimensions (that is, if your grid is 16x32, make sure the player's speed is 1, 2, 4, 8, or 16 at all times). Solution is better as it will make sure that the character's always fully on a square after each move, but it does of course restrict your game system somewhat.
------------------
AKA Glennfield, Glenndella, Jynnan Tonnyx, Breva, and/or Bölverk.
我不说中文 (Can anyone read that?)
(url="http://"http://www.itswalky.com/d/20020123.html")"A monkey and a hot girl fighting - I can die happy now."(/url)