Hey EXS,
If I understand your problem correctly, you have an application or several applications that were designed in a way that they make direct calls to the instrument using VISA VIs and modifying every location that makes a call to VISA is to large of a task.
Typically, I would always recommend that when you are creating large applications or several applications, you should create a small set of sub VIs that perform tasks and inside of these VIs you place the VISA or driver calls. That way the main application doesn't ever touch the device/instrument specific code and it only makes calls to a small set of sub VIs that perform tasks. This way if the device ever changes all you have to do is change the set of sub VIs. As they say, "Hindsight is 20/20."
To fix your problem you are going to have to go deeper and since we are not going to give out the source code for VISA I recommend you create a device that can parse your old instruments commands and then output the new register level commands. At this point you probably think I am crazy to recommend that you create a new device, but NI has made this easy.
NI-Device allows you to create devices. As a matter of fact you can use it to create devices on your controller just using software. For example, with NI-Device Plus you could create a VXI-11 instrument on your controller that would show up in VISA, MAX, LabVIEW, etc as a VXI-11 instrument. You could program it to parse your old instruments commands and then perform the appropriate VISA actions. It only has a C++ API, but it is very powerful.
I hope this helps out,
Josh Prewitt
National Instruments