You definitely need to pause audio for the DAC to reconnect properly. When I do the DAC is usually functional upon the next application of power (works just like Timur intended).
On my N7, Tasker pauses the audio within a second or so after it detects power loss. I can't really export the profile, but it's pretty basic:
Context: State --> Power --> Power --> Source: Any, check Invert
1) Task --> Wait --> set for 1 second [this will make sure the DAC is fully powered down]
2) Media --> Media Control --> Cmd: Pause, check Simulate Media Button
I should note that I use Google Play Music, though this task may work for other music players as well.
Similar to the power loss situation, you could have Tasker play your audio shortly after power is detected. I chose not to because instead I created a "Play/Pause" Tasker task that I turned into a widget. It uses a global variable (called %PLAY) that becomes 1 when music is played and 0 when music is paused, so that the task knows whether it should play or pause music.
Edited by MetalMan, 16 January 2013 - 10:29 AM.