ZONE_CHANGED fires on minor region changes (such as moving from the bank to the AH and the minimap text changes). It doesn't fire on zoning between instances and the world (you would use PLAYER_ENTERING_WORLD for that, or ZONE_CHANGED_NEW_AREA for changing between major zones (where you change chat channels)).
You might have just zoned in and out of say deep run tram and failed to notice.
but it's only just an exact copy of the code that's at the end of the tutorial. It wasn't working through the progression of the tutorial so i just decided to copy and paste the final code to see if that worked...but nothing..=(