I always liked that I learnt assembler first, since I fell it gave a good insight into the way things work and you can go and figure out compiler bugs, etc. I pretty much stick to C, though for desktop I use what most people i know call C with classes, just basically using a limited set of C++ . I also find with C+asm knowledge you can skip to just about any other language fairly quickly.
I like the mikroe boards, they offer a really good setup for learning, i've got the BIGPIC, they have the Arm ones too, lots of IO and add on's.
Compiler wise I'd say GCC probably has the edge use wise, its not the greatest compiler, but it varies from platform to platform, the ARM support got a lot better when ARM themselves were so embarassed about its output they paid a guy to fix it up.
For x86 i like the intel compiler, i usually use visual studio+intel c, for embedded it varies, codewarrior is common (though i personally find it awful to use on any platform), and again GCC. ADS/RT from ARM i prefer on the ARM. 68K i use gcc, codewarrior, SAS C, and A68K. PowerPC, CodeWarrior and gcc , Renesas i use their compiler.
Jobs wise I've found people with embedded skills + expert asm can command higher pay rates, sony went around hiring a whole bunch of asm people a few years ago with very inviting pay.
I do write in asm quite a lot, but rather than people who say stuff X is dumb, use Y, I say go with what's the best you can use or most comfortable with for the situation at hand, as long as it can be done of course.
Also i'm with Janne, M68K is my favourite asm to use, pity motorola have just axed it a few moths ago. I still use it weekly though, and i've still got my A4000 too