O.K. i'll look at that. So you're using a 16F628 right? for serial comm, i would suggest you to use a crystal. To make sure to don't miss incoming stuff, i always suggest to use a USART interrupt.

this
Code:
["aa", stepcnt]
can't work because it will send a WORD ascii character... wich is impossible. So instead, you should work around and use
Code:
["aa", #stepcnt]
but use VAL on the VB side.

I'll do a little something here, totally different, so you could use some part of it in your actual code.