I'm pretty sure the problem is this:
VB has an internal command, called "Rate", I don't remember if it is a function or a class (that requires you to make an instance of it)... but if you rename the textbox from Rate to ... say, tmpRate, or CurrentRate, or something of that nature... it may solve the problem.
I also would only times the interval by 1000, but, it's your code ;)