Keep in mind also that when you go into an instance, the responsibility for processing on your character is transferred to a physically completely different machine (don't ask me why, but this was confirmed in their response to the /tell in dungeon question). This means that a lot of the information about your character's state has to be correctly maintained and curated by two machines simultaneously. Such situations practically beg for synchronization dilemmas such as race conditions, resource starvation, or deadlock. Yes, "putting a flag on it" is a correct and simple enough answer. But things get infinitely more complicated and dangerous when you inject data moving between physical machines. It also bares mentioning that, as mentioned above, they have backed themselves into a corner with the party mechanics. Chocobos are treated special. They count as being in a party for the sake of things like party invites, but have special rules associated with them, such as the inability to enter instances. Without seeing the code, it's impossible to tell, but they could easily have coded themselves into a corner.

To be clear, this does not make them bad programmers, it's something that happens all the time especially on evolving projects like MMOs. Imagine you are building a Car, and you build a Ferarri sports car, then someone comes in and says "Ok, now make it seat 5 people." It's impossible. Yes you can make a car seat 5 people, but you can't make that car seat 5 people.