I got a response from Dan at Creative:
Getting playback offsets is not going to be anywhere near as precise I'm afraid. The "Generic Hardware" and "Generic Software" devices only update the playback positions every 25 milliseconds.
I've finally proven this is the case. OpenAL only updates every 25ms while Java Sound updates every ~5ms.