Given that XP is generally handled at the end of the session rather than in bits and pieces throughout, I would say your idea is definitely worse in that regard. However, it looks like you're definitely giving it the requisite amount of thought, so if it turns out to work fine, go for it!