Since that patch was originally written, I've hacked the way that the main volume control works for the volboost_ functionality. There's a couple of things that you can do to see if this is a factor.

1) Ensure that any volboost_ parameters in config.ini are set to zero. (or commented out).
2) Try adjusting the volume manually after the TTS output has finished. If it 'jumps' to the correct level, then there is a fair chance that there is a conflict.
3) You could also try recompiling with HIJACK_VOLBOOST_DEBUG set and then watch the serial port, which will output the following whenever the player changes the volume:
"VOLBOOST: Req: %d, Boosted: %d, Appl. Boost: %d, Appl. Vol: %d\n"

Req is the volume that the player is trying to set.
Boosted is the volume calculated once any boost parameters have been set. ( should be = Requested with volboost_ parameters all 0)
Applied boost reflects the amount of boost/cut actually applied. As long as the calculated volume level stays within 0 - 100, then this will be equal to the volboost_parameter. (which we set to zero)
Appl. Vol is the actual volume level sent to the mixer. (What we are really interested in here.. Should be same as Req.)

This might not tell us much, except give us some sanity. Ideally the overlay patch should be ported to to use the volboost code anyway - take a look in the MIXER_WRITE(SOUND_MIXER_VOLUME) and MIXER_READ(SOUND_MIXER_VOLUME) ioctls in empeg_mixer.c to see how that should be done....basically we wrap any userspace volume write/read with a couple of functions that fiddle the numbers according to the current volboost.
_________________________
Mk2a 60GB Blue. Serial 030102962 sig.mp3: File Format not Valid.