Unfortunatley, VB has a variety of ways of calculating integer results from floating point operations. I say 'unfortunate' because, as you have discovered, they can give different results. And there are differences between the implicit conversions and the explicit conversions. The following minor example illustrates some of this further:
[tt]
Private Sub Command1_Click()
' Explicit conversions
Print Int(29.5 / 15)
Print Int(29.4 / 15)
Print
Print CInt(29.5 / 15)
Print CInt(29.4 / 15)
Print
' Implicit conversions
Print (29.5 \ 15)
Print (29.4 \ 15)
End Sub