i'm not going trough the Qbasic code since it's really far in my mind but to do a efficient 9600 bauds comm with a 4MHZ crystal you should redefine you USART like...
Code:
DEFINE HSER_RCSTA 90h 'set port to input
DEFINE HSER_TXSTA 24h 'set port to output <=== BRGH=1
DEFINE HSER_BAUD 9600 'set baud rate
this will gives you a better error % (0.16% against ~7% with 20h)

Another method to check you serial communication will be to use the serial communication windows of MicroCode Studio. Easy to use, work really good and there's one free version
Download here
Once you're sure that your serial communication work.. do your VB or Qbasic code