What you're seeing is exactly what should be happening, unfortunately in your case it's not what you WANT to happen. I'm assuming both systems are using the same VM system, so when a call hits 801, then forwards to 806, and is then bounced to VM, the VM intergration still has the info from where the call originated (system 801).
The work around is a bit tricky, what you need to do is set up a "phantom" ACD path to break up the call path a bit. Here's how:
All of the programming is done on system "A", and you'll need 3 DN's (ACD Path, Agent Group, Speedcall). Users will never dial them, so you can user * or # as digits if you want/have to.
1. Program a speedcall for a "local" DN to point to 806-3600.
2. On system 801, create an ACD path. You'll also have to create an Agent Group, but leave it blank (no agents assigned to it). In the Path Assignment form for the ACD path, make sure you enable the "Queue Callers To Group When No Local Agents Are Logged In†option. Set the Interflow timer for 1 second, and the destination will be the speedcall you programmed in step 1.