I finally worked it out, prompted by a request from Rich to send him the code...
I issued a SET SOUND SPEED command to a 3D sound that wasn't yet playing. This stopped it from working, but doesn't generate a runtime error. Interestingly, you can get away with this with a normal sound, and you can also send a SET SOUND VOLUME to a 3D sound without it hitting the "feature".
I don't know if this is an issue with my hardware (onboard Creative Labs 128) or a more general one.
Thanks for the suggestions.
Thanks in advance.
All the Best,
StevieVee