I don't have the exact same card, but I may be able to answer some of your questions.
Sound
To get sound over the DMA channel I use something like this on the command line:
$ sox -c 2 -s -r 44100 -t ossdsp /dev/dsp1 -t ossdsp -r 44100 /dev/dsp
The /dev/dsp1 is the sound output from my Hauppauge card and the /dev/dsp is the sound input to my onboard sound card. How do I know that? From the output of this command:
$ cat /proc/asound/cards
On my output it shows index 0 as my sound card and index 1 as Bt878 (from Hauppauge card).
And if I wish the sounds to be redirected to all my surround speakers, I use this command instead:
$ sox -r 44100 -t ossdsp /dev/dsp1 -t alsa plug:surround71
Play
I am using TVtime and I have never encountered any problems like you described. F8/F9/F10 all choose "bttv" driver for my WinTV Hauppauge card. So I guess "bttv" is more stable then the driver that you are using. But with TVtime I only get video and no sound. I have use the sox command to get the audio.
Alternatively, I can also use this command to play both video and sound through mplayer.
$ mplayer tv:// -tv driver=v4l2:norm=PAL:input=0:immediatemode=0:amode =1:width=384:height=288:outfmt=yv12:device=/dev/video0:audiorate=44100:forceaudio:volume=100:alsa: adevice=hw.1,0
Again this works for me after I have done some home work on the devices number to use. Yours could be different. You can specify other screen size.
Capture
One you master how to play, to capture it is just changing the command from mplayer to mencoder.
$ mencoder tv:// -tv driver=v4l2:norm=PAL:input=0:immediatemode=0:amode =1:width=384:height=288:outfmt=yv12:device=/dev/video0:audiorate=44100:forceaudio:volume=100:alsa: adevice=hw.1,0 -o title.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
Unfortunately I have no idea how to fix your cx23885 driver problem.
Leave no window unbroken ♪ (^。^)