It's not really a problem, as much as it is a misunderstanding of how the scripting language works. You can't expect to compare a string variable with an integer variable and get results you want.

When you use Get or Gets it returns a string value, and you were trying to compare it to an integer.

When Kix sees a line like "123" > 123 it assumes that you are comparing two strings since the variable on the left side of the > is a string...So it treats the right side of the > as a string as well. When you reverse the order 123 < "123" then Kix assumes that two integers are being compared since the variable on the left is an integer...so it then treats the right side as an integer as well.

Like Allen pointed out, you can also force a variable to be converted to a specific type by using a number of built-in functions...CInt(), CStr(), CDbl(), Val(), etc...