Everybody here -does- realize that BBC BASIC is available for a great many platforms (including Vista), right...?
BBC BASIC
When the OP was talking about it, I figured they were likely using one of the new flavors, and not an emulator running an original flavor (or otherwise), nor on original hardware. Furthermore, just because one may not have developed anything using it, does not mean it would be impossible for one to translate VB into another BASIC; providing it had methods for interfacing with a defined serial port (which even most of the old-school BASIC dialects had - at least for the port on the machine it ran on) - it really shouldn't be that difficult for any programmer worth their salt.
Even with an emulator, provided the emulator could expose the underlying OS ports to the emulated system, and the BASIC on that system had been updated with hooks or memory locations that could be PEEKed and POKEd (or OUT'd and INP'd - or whatever strategy is used), in theory it should be possible, as long as everything is set up properly (and it all works - lots of ifs, I know).
If BBC BASIC is absolutely needed, I would suggest ditching the emulator, and going for a version that runs natively on the OS being used. If BASIC must be used, and BBC BASIC isn't available for the platform, there are a ton of great BASIC interpretors and compilers out there, many of them free, that could be used.
I would personally stay away from VB in its current incarnation, unless one is fairly familiar with OOP structure, or wants to learn it, if one is only familiar with BASIC; the current incarnation of VB.NET is BASIC in "name only"; VB.NET is a radical departure from prior versions of VB (ie, VB6/5) that Microsoft released. I am not intimately familiar with it; I stopped using VB with version 6, and later moved on to other languages under Linux (Perl, Python, PHP, C/C++, etc). If I was to return to a BASIC under Linux, I would likely choose FreeBASIC and/or GAMBAS (I've also played with and enjoyed BLASSIC, which is an awesome old-school feel BASIC interpretor:
**broken link removed**).
If you don't want to take the time to learn VB.NET, but you don't want to futz around with another version of BASIC, yet you are wanting to learn something new, then consider Python; I've found it to be a very easy yet powerful language to work with, at least under Linux. It has an "easy-to-use" like BASIC does, yet keeps open the door to more powerful options (like interfacing with C/C++ based libraries). While it isn't a compiled language, there are native compilers available for it; even interpreted, though, it runs very quickly - the issue of speed isn't likely to be a problem for most developers, especially on today's systems.
Ok - I now realize the above link is - the Russell emulator - doh! And it doesn't look like "easy" methods are available, but at least the author is willing to help the OP... I still stand by everything else; it might be easier translating the BBC BASIC into something like FreeBASIC, and adding the bits needed for serial access, rather than hacking an emulator - or having the author hack it...
It seems that serial port access -is- possible under Russell's emulator (at least under Windows?): https://www.bbcbasic.co.uk/bbcwin/manual/bbcwinf.html#introf - if everything is set up right, you should in some manner be able to input and output the same byte stream to the relay hardware (as defined in its specifications), as long as you have the proper virtual COM port set up with the right driver for the hardware (which should be set up by the installation process for the hardware). It looks like something that will take some fiddling, but it should be doable...