OK...we're a little way further forward...
It seems that, no matter what I enter in this line:
strHTML = strHTML & "objElement.onchange=" & Chr(34) & "VBScript:MsgBox Me.SelectedIndex" & Chr(34) & vbCRLF
it's ignored. What seems to be happening is that this line:
strHTML = strHTML & "objElement.attachEvent " & Chr(34) & "onchange" & Chr(34) & ", GetRef(" & Chr(34) & "Statistics_ChangePage" & Chr(34) & ")" & vbCRLF
is the one being actioned. Then, on the client-side code, the content of the variable 'intSeasonIndex' is "[object]", a string or, more likely, an object which is coerced into a string by the runtime. From my reading, that's down to the use of GetRef which is the only way to dynamically get the Sub to run using VBScript.