Here's the recipe:

1 - Upgrade the existing 6.04 to the latest release
2 - Build a new 8.04 server, install the prerequisite packages
3 - Do a fresh install of the 8.04 build of Zimbra on the new 8.04 server
4 - Stop both zimbra servers (zmcontrol stop)
5 - Copy /opt/zimbra from the old 6.04 server to the new 8.04 server
6 - Run sudo chown -R zimbra:zimbra
7 - Run zmfixperms
8 - Install the socket6 perl library (sudo apt-get install perl-net-socket6). Amavis crashes otherwise.

Done! Any customizations or changes made outside of /opt/zimbra to the previous installation will have to be redone. For example, install razor, pyzor, etc.

I suppose an in place upgrade is possible and a few people on the forums report success, but I wasn't feeling that lucky.

On a related note: CPU use on the latest build jumped significantly. A few posts here on the forums suggested backing off on some of the cron jobs might help. It did for me. Run crontab -e as the zimbra user. The two status logging jobs were the trouble makers. I just run this server for about a dozen people in my family so I backed off the frequency of the jobs considerably.