In wLVol und dRVol ist hier immer $FFFF (65535), setze ich einen Breakpoint in der Funktion dann sehe ich das in Volume aber tatsächlich $19999999 (4294967295) steht.
Es müste also einmal $1999 und einmal $9999 heraus kommen, tut es aber nicht.
Hoffe das es nun komplett ist und ihr eine Lösung habt.

Wenn Volume den Wert $19999999 hätte, dann wäre das dezimal 429496729 (nicht 4294967295)
Anders herum, wenn Volume den Wert dezimal 4294967295 hätte dann wäre das $FFFFFFFF.
Da (bei mir) im Debugger die dezimalen Werte angezeigt werden, vermute ich, dass Volume den Wert 4294967295 = $FFFFFFFF hat und du beim Umrechnen die am Ende stehende 5 vergessen hast.