Hi Ian,
Thank you for your response. I originally got around the problem by seeking to the position, then stopping and starting the stream - this seemed to work...
What you have suggested also seems to work. At first glimpse, setting the position to 0 is a little misleading but your documentation does say:
'User streams (created with BASS_StreamCreate) are not seekable, but it is possible to reset a user stream (including its buffer contents) by setting its position to byte 0. '

I shall go with your solution as it is the documented one. Maybe it is worth adding that line to the BASS_StreamCreate documentation page

. Thank you very much for your help.
Jason