I have been watching my Lenny/Sid (mostly Lenny) system very carefully to see how it handles packages I have installed from Sid; (apt.conf: default-release=testing, no apt-preferences file). I have become convinced that apt-preferences is not necessary unless you are
really concerned that a package upgraded from Sid
never receive a subsequent update from there. (And, as detailed in the OP, I think that is a bad policy.)
The key seems to be the fact that once a newer or equal version than the one you have installed gets to Testing (default-release) aptitude apparently recognizes that that package's source is now, once again, the default-release.
An example is the recent move to Testing of libc6. I already had the Unstable version, and it had been upgraded several times. When libc6 moved to Testing, apt-show-version changed thusly:
Before:
libc6/unstable uptodate 2.5-9
After:
libc6/testing uptodate 2.5-9
I believe, but have not yet been able to verify, that even if Unstable had contained a newer version at that point, it would not have upgraded from Unstable.