This is the in-band signaling still used on the POTS local lines. A recorded sound file of your phone number played into the microphone will cause the line to actually dial out!
This does not work for these digital phones, at least for my experience.
It could be the mic in the phone. I remember trying this with a cordless phone way back and having trouble. Some cordless phones also use really obnoxious processing such as compression and a noise gate. If the volume of your touchtones are low and your phone has some degree of gating or downward expansion, it could be suppressing it. The codec digital cordless phones use back to the base (g.726 in most cases) should be more then capable of transporting touchtones.
As systems_glitch mentioned, this isn't new, though; the base generally transmits touchtones for you. If you're listening to the line itself, you can hear analog cordless phones make some strange data noise as they send touchtones or flash and whatnot.
So if long distance was switched, why did they leave the local calling with in band?
I'm not sure I understand your question, but local interoffice signalling is all done out of band with SS7. For the sake of redundancy, though, most offices are equipped with a couple trunks back to the access tandem that accept MF.
If you're talking about local dialing, part of the reason is probably because ISDN never caught on. Especially considering we need touchtones for things like IVRs anyway, I guess the answer was "why not?" No need to fix something that works.