Mustang, your first problem is that you have X as an integer. Since X gets the value of "lngTotInch MOD 39370", that means that X can be in the range of 0 up to +39,369. An integer can only hold up to +32,767. Change that sucker to a single.
Your second problem lies in the MOD function and how you are using it. This example is from the VB help file on the MOD operator: If you call "19 Mod 6.7", what does it return? Your program is built around the assumption that it would return 5.6 but it does not. The answer is truncated to exactly 5. So, when you mod intMeter by 39.37, you are getting a truncated return value. That would be part of the problem.
Solve both of these problems and you should be home free. The rest of your code looks good to me.
Edit: I explained the MOD function incorrectly, it seems. When you call "numA MOD numB", both numA and numB are converted to integers before the mod operation is applied. So, in the above example of "19 MOD 6.7", what is really happening is the function is interpreting it as "19 MOD 7". So, when you call "intMeter MOD 39.37", you are getting "intMeter MOD 39". Cool?