For this particular project of mine, I need both a USB host and device. I've also used the 32 bit AVR and find it fine, but am not sure I want to move up to needing two of them.
Yeah, I assumed that too, but I think I was mistaken. I was hopeful that things would stabilize over time, but the new firmware release appears to have broken more things than it fixed:
I've been having quite a few issues. The biggest is that in common situations it looks like an interrupt isn't serviced properly, making it continually fire and thus causing user code to run very slowly.
Also the USB host interface has a very limited API. For instance, for control pipe requests, there is no way to determine how many bytes were actually received.