I've never completed the pokédex. Got pretty close to completing the Johto Pokédex in HeartGold though once.
I'm currently replaying all my games and doing a similar method to the OP - I've caught everything in Emerald bar Corsola and Miltank (will get them through HeartGold), caught every Sinnoh pokémon available in Diamond, am currently playing through LeafGreen and so far haven't missed the opportunity to capture a pokémon. I'll then continue with HeartGold. Not sure about Black - I'd have to delete a completed pokédex if I wanted to play it again.
I've been a little slack on the migration from Emerald though, haven't done it for a couple of days. Trading over from my old Platinum save to Diamond (where I'm storing them all, as it has the least replay value to me) is the most time-consuming thing though. Hatching eggs of the pokémon I evolved in Emerald and the like will also take a bit of time. Will be worth it though - I think between LeafGreen, Emerald, Diamond, Platinum and HeartGold I can actually get a "complete" pokédex (the in-game certificate) - and I have some legendaries such as Celebi, Mew, Arceus that mean I can get pretty close to the full 493 in Diamond.