Usually, you make apt-get dist-upgrade just once... when you "dist upgrade", from etch to sid for example.
after, you just : apt-get update ; apt-get upgrade
like this, not ALL pkg are upgade, just the ones that won't totally messed up your system. this way, some pkg are left non-upgraaded for a while. they'll be upgrade one day...
if you just have too many stuff in the state "waiting to upgrade", you can sometimes launch the apt-get dist-upgrade, to upgrade all... with all risks.