lo que pasa es que ese rango de 96 a 105 le pertenece a las letras minusculas.
lo que esta mal ahi, es que convertis a "caracter" el KeyCode que te viene, que a veces nada tiene que ver realmente con la tecla pulsada. para solucionar eso de manera facil necesitas manejar cada tecla por separado, y dejar de guiarte por el caracter al cual lo convertis.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyNumpad1
MsgBox "1"
Case vbKeyNumpad2
MsgBox "2"
Case vbKeyNumpad3
MsgBox "3"
Case vbKeyNumpad4
MsgBox "4"
Case vbKeyNumpad5
MsgBox "5"
Case vbKeyNumpad6
MsgBox "6"
Case vbKeyNumpad7
MsgBox "7"
Case vbKeyNumpad8
MsgBox "8"
Case vbKeyNumpad9
MsgBox "9"
Case vbKeyMultiply
MsgBox "*"
Case vbKeyAdd
MsgBox "+"
Case vbKeySeparator
MsgBox "-"
End Select
End Sub]
saludos.