I have a couple of M-audio cards and when I use waveout the 44.1Khz from CDs stays 44.1Khz on playback. Not bit perfect but 44.1Khz.
I don't what player you use that would do what you describe. What are your setting in the M-audio control panel? Kmixer by itself does not upsample undiscriminatorily to 48Khz.
For bit perfect you need kernel streaming or ASIO as you have already discovered.