The technical problems I'm are aware of are that a.) version numbers
(with and without epoch) need to be unique, so if you had 0:2.0.0-1
you are not allowed to ever have 1:2.0.0-1 again. That's enforced
by dak however.
That's not enforced by dak. The only case it would be enforced is when once try to upload the 1: version while the 0: is still published, which is rare in the cases of epochs.
The other technical problem is that .deb filenames don't contain
the epoch, which is a problem the archive
Which is the same problem as above, from my understanding.
There is that risk in having two filenames with different content across history.
IIRC, there *used to* be an actual problem way back in some program that couldn't handle the : in filenames, and that's why they are not present to this day. I argue that we could just put that : (or the %-encoded version, to avoid accidentally ssh-ing somewhere...) and be done with whatever problem.
The other problem, is that maintainers regularly forge to put the epoch when writing version restrictions in d/control, but those are just bugs that people should be aware of...
(Explicitly not drawing any conclusion here...)