Now if you check the VMware Fusion forums you'll notice that they're practically full of advice on how to fix this problem (mostly using customised keyboard within the VM) but I'm going to recommend you do a couple of simple changes to the key-mappings to fix the issue. The example I'm going to use is the dreaded @ (shift-") mapping to " (shift-2) but after seeing this you should be able to quickly add other mappings.
The first thing is to start your VM (we can make this change while the VM is running without rebooting it) and then bring up your VM's settings;
|VMware Fusion: VM Settings|
|VM Settings > Keyboard & Mouse|
When you've got and named your duplicate (as you can see I've gone with "My Profile") select your new profile and select the configuration cog again and this time select "Make Default Profile".
Now click the cog for a third and final time and select "Edit Profile ...".
|Keyboard & Mouse > Edit Profile|
Click "+" at the bottom;
|Edit Profile > Add Key Mappings|
Click on "Shift" and enter ' (single-quote) in the top entry box, then click on "Shift" and enter 2 in the bottom box. Click "OK to save the change.
Now click on the "+" again and this time click on both shift buttons but put the single-quote at the bottom and the 2 at the top. Click "OK".
Scroll down to the bottom of your key mappings and you'll see something like;
|Key Mappings > New Key Mappings|
Open Notepad inside your VM and you should now find that the key mappings and back to the way they're printed on your keyboard.
You can repeat this process with as many key mappings as you want.