Xmplay processes , including amplification are done in 32bit mode? Then even by adding pre-amp db to original signal level , at 32bit there is no chance of exceeding the dynamics headroom.
XMPlay's MP3 decoding is performed entirely in floating-point ... . XMPlay's internal sample format is also floating-point, so the only type conversion (possible loss of resolution/accuracy) is at the very end when it's converted to the user's chosen output format.
Basically, the audio will never clip inside XMPlay. (It's theoretically possible, but highly improbable.)
If final output format is 24bit (wasapi or asio) the dynamic headroom is still so high that clipping is really impossible. Only if reduced at the end to 16bit output there is again a 'danger' of clipping.
Clipping can occur with 24 bit resolution as well.
Imagine the amplitude a soundcard can create ranges from -1 to +1. Internally, XMPlay can handle way more, say from -1000 to +1000, without loss of quality (it's all numbers anyway). If XMPlay tries to output
+1.2 however, that'll result in clipping, because the soundcard can only accept up to +1 (it's physically unable to do more). The resolution determines the number of steps between -1 and +1, where 24-bit has finer steps than 16-bit. Still, the soundcard can't produce more than +1, so +1.2 is still out of range.