You can have UPX and autoupdate (in theory at least).
It's possible. I'm working on a way to fully automate the process (I just need some good docs on the batch language). I have a semi-automatic batch file already.
The problem is actually that UPX can't compress and decompress to produce the exact same file with W32 binaries (however, once a file is compressed and decompressed, the resulting file can be compressed and decompressed to produce that exact file), and that the small autoupdate difference file can't be applied to the modified files.
So here's how it works: