Was the version a few posts zipped before you tested the event? Because, the way it is it will freeze on both the Step Init and Flow Common Events? First, the fact that Step Init is called by the switch Dog freezes the game (I assume you meant it to Autorun on Step Initialize, since it turns Step Initialize Off at the end), and the Flow one also freezes the game because you turn Flow on, not off, at the end of the common event. Second, it is a waste of a switch in both cases. Make use of the Call Common Event Feature, as that runs the common event just once, without needing any switches. I would also ask if it is in fact necessary to use a common event for either, as they are not large events and they do not, as far as I can see, need to be run more then once. I haven't looked at much of it yet, as those two bugs got in the way, but aside from those I imagine it will be pretty good. I would, however, suggest that you look at a way to make the pet extend to other maps. Naturally, you would need to transfer the dog's movement from a common event to a local event, but since a lot of the event is already located in common events otherwise, it would not be too hard to get through it.
As well, I would recommend taking the dog off approach. You already have his movement determined through the common event, and the approach causes the dog to move all over the place. As well, in order to make it look more natural as the dog following the player, it might be a good idea to use variables to make the caterpillar, much like arkbennet did in his tutorial:
http://rmrk.net/index.php/topic,20245.0.html. There were a few problems with his, which I mentioned in the topic. Primarily, I would suggest using player position and last player position rather then player and event position, since that will make it so that the event is not trying to move into you every square.