Ok, tested this, and in SP and in MP host mode paramsArray is always of size x - 2 (because they're missing param1 and param2). In dedicated mode param1 and param2 are put in the beginning of the paramsArray, causing all the index values to shift by 2.
I can't really see this as desirable behaviour (even by BIS standards), so it's probably a bug.
Btw fer, I don't get a 0 value like you do, but since you only use 2 parameters (paramsArray[0] and paramsArray[1], because in SP and MP host mode param1 and param2 are not included), you are actually grabbing an out of bounds value.