Ross,
I can advise you to check that you have appropriate size of input buffer.
Another thing that ussualy I work with SoundCard in the next sequence:
SIConfig - SIStart - SIRead - SIStop - SIRead - SIStop-SIClear.
The first "SIRead - SIStop" I use to read useful data, and the second "SIRead - SIStop" I use to empty the buffer before SIClear.
Hope it will help you.
Oleg Chutko.