I've never used the lower level GPIB functions of an Agilent board so I don't know what commands to use to replace ibwrt and ibrd, etc. You might want to go ahead and just replace them with the equivalent VISA calls. When you get the Agilent card, you should install the VISA libraries and it should also come with documentation explaing VISA calls. From the NI manual, the command to write to the bus is called viWrite and has the VB syntax of "viWrite&(ByVal vi&, ByVal buf$, ByVal count&, retCount&)". The biggest difference is that instead of just using a GPIB address (2,3,etc.) you use a reference to a VISA session(the vi& part of the command. A VISA session is opened by using a VISA Resource Name such as GPIB::3 for an instrument
with an address of 3. VISA is designed to be compatible with GPIB, USB, VXI, PXI, Serial, TCP/IP so that the same instrument driver can be used interchangeably. For example, if you developed a GPIB driver and then wanted to use the same instrument but a VXI version, changing the name to VXI::3 would be all that you would have to do. VISA also accepts aliases as resource names so you can for example open a session to "DMM" and not have to worry about remembering the actual address. It makes for lot more portable and flexible code and less dependent on the actual hardware.