I'm running Woody, which is my first foray into really unstable territory, because, frankly, Potato has been very solid. Now and then we get an unusable package into Woody, but since I keep the old .debs for a while, it's no big deal to reinstall the old working one. However, the next time I do an apt-get upgrade, the new "bad" .deb gets reinstalled.
I have a similar problem with the current Woody kernel-image trying to replace my custom kernel-image .deb (and I have tried all sorts of ways to use the -rev argument of make-kpkg to give it a name that looks like a later rev, unsuccessfully). The apt-get manpage refers to a "hold" attribute, which I suspect is the way out of this mess, but how do I apply that attribute to a package that I want to not be replaced? I've messed about a bit with dselect, but that is one non-intuitive app to use, and I'm not sure that will do it anyway. (Yes, I have read the man-pages and docs, but I probably have missed something).