Calling AVR a "joy to use" is pushing it a little far. There are things to like about AVR chips as a package, but the AVR instruction set is pretty janky. I don't understand why they're so popular compared to the MSP430.
I've never programmed MSP430s in assembly, but I have for PICs and found their instruction set to be more funky than AVR.
That said:
* Harvard architecture (split I & D memory)
* 8 bit registers
* Not at all orthogonal, and particularly painful for pointer addressing
* The stack pointer is annoying to work with
* Address wrap at physical memory bounds, rather than the bounds of address space
I could pick a bunch more nits that would only really be relevant to someone writing an emulator (complicated instruction decode, IO addressing, &c) but those are my big complaints.
I find MSP430 much more pleasant to work in.