I actually think the idea has merit, only instead of the pilot turning on the recorder, I'd suggest that the plane do it automatically based on input from various sensors. For example, when airspeed, vertical speed, attitude, or certain engine parameters exceed pre-defined parameters, the plane could automatically begin broadcasting to the satellites. At all times, the on-board recorders would be functioning just as they do today. This wouldn't solve the problem entirely, as there are always catastrophes that could occur too quickly for the broadcast to even begin or to have enough time to transmit much useful data, but it would be an improvement over the current system.
The issue, of course, is cost.