Excuse me for jumping in at the end of this thread, I didn't look at it before now.
One thing strikes me though--as a learner or student, one should consider what it is you are trying to learn. I say this in response to various comments and advice given above.
What I mean is, are you trying to learn hardware or software? If you are trying to learn hardware (real-time computing, interacting with analog or digital inputs or outputs, controlling peripherals, understanding registers, interrupts, CPU architecture and so on) then there is no point starting with the latest and greatest 32 bit micro. You could readily begin with 8 bit devices and (horror!) even learn to program it in assembly language. After all, if you want to learn about hardware, the machine instructions are where you see how the hardware works. That's where the rubber meets the road. If you don't have a good feel for the hardware, a C compiler on a microcontroller is going to be like a layer of fog between you and and the business end of the system.
On the other hand, if you want to learn software and programming and use IDEs like AS6, then do you really need to mess with micros? Why not work with a programming environment on a PC and take advantage of all the support for comfortable programming in that environment? Your home PC has a very nice 32 bit or 64 bit processor inside it, and any program you write can readily run on that processor and do fun stuff right away. On your PC, your C++ (or C#) compiler is no longer a layer of fog but is now a wonderful abstraction layer that hides the intricacies of the machine and allows you to concentrate on what your program needs to accomplish.
It all comes down to what you are doing. If you are an engineer doing professional design and production, then you have to pick and use the hardware and programming environment that does what you need. But if you are learning, you have no such constraints. You should pick and use the hardware and programming environment that best suits your learning objectives.