OK, I understand better. You're not trying to shave a few dollars off. You're trying to have a handle on every component so you truly understand what you're creating. That's a reasonable motivation, but make sure you understand what the trade-offs are.
If you really like the ATMega32U4, the Teensy2 is a great Arduino-compatible controller that fits on a breadboard. I believe it's significantly less expensive than an actual Leonardo, and I don't believe the 32U4 is available in DIP configuration so anything you use will have to be on a board, rather than being able to wire something up from bare components on a breadboard like you can when you use an ATmega328.
You aren't required to use the Teensy HalfKay bootloader with a Teensy2. It's possible to use something like a USBTinyISP to program an ATmega32U4 using the ISP pins, but then you lose the HalfKay bootloader and won't be able to reload it. I believe that there was an open-source bootloader available that would speak the HalfKay protocol if you wanted to go back to using the Teensy with the Teensy Loader app in the future, but the open-source version takes 2K, rather than the 512 bytes that Paul's version takes (hence the name, HalfKay). It's quite an accomplishment that Paul was able to get a USB bootloader that runs in 512 bytes of AVR assembly, and that's one of the things that makes the Teensy2 so cool.
I also much prefer HalfKay and the Teensy Loader to the Leonardo bootloader. If you look into the details and try both, I think you will too.
I get the impression that you think the bootloader will keep you from programming the USB controller to do exactly what you want. On all of the Teensy boards, the bootloader only runs when you push the reset button (which I think should really be called the "program" button). Normally, when you power on the board, the bootloader doesn't run, so your code has 100% control over the USB hardware. PJRC provides sample USB code for making the Teensy board appear as several different kinds of USB device to the host computer. Am I making sense? The bootloader doesn't get in the way between you and the USB hardware. It stays entirely out of the way unless you press the programming button.
(The sample USB code does, if I recall correctly, notice when the Teensy Loader app is requesting a reboot into programming mode to make Arduino programming more convenient, but that's all in source code that you have access to.)
Regarding T3.1 vs. the ATmega32U4, there are benefits to using the ARM like in the T3.1, but I've also found that if you don't need the raw power, the T2 is nice because it runs at 5V and can provide 5V digital interface to other devices. It is also capable of sourcing and sinking a lot more current than the ARM chips. Also, the Teensy++ 2.0 still has more available pins than the T3.1.
I don't have any relationship with PJRC except that I've purchased Teensy boards from them, and I suspect that stevech is the same. I personally believe that the Teensy boards are about the easiest for beginners to use, while still being as powerful as anything you can get in the Arduino-style market segment... while simultaneously being just about the cheapest option. What's not to like?
OK, so I have the slight advantage that I happen to live within about 10 miles of PJRC and when I buy stuff from them and just pay for regular USPS delivery, I usually get it next-day, but that's just 'cause I'm lucky and they're so on-the-ball when it comes to shipping...