I can not comment on Vista but I would sure like to know if the below holds true as it does for XP since I will be upgrading very soon.
With windows XP, at startup one thing it checks to see is if the primary MAC address used at activation has changed. If it has then it will report that there's been significant hardware changes and ask you to reactivate.
By default the Parallels VM assigns a virtual MAC address to the "realtek" driver interface which differs from the system's real hardware MAC address for "en0" (built-in ethernet) interface. The "en0" MAC address is used when you start boot camp in native hardware mode. So each time you switch between the two operating modes (VM boot camp or native boot camp) windows detects a different MAC address and thus the request to reactive which then gets recorded as the new MAC tied to the license.
To overcome this (at least in XP) you simply change the "realtek" virtual MAC address to match the true hardware "en0" MAC address. So now regardless of which mode you boot in the MAC address remains the same and windows XP is happy. As an additional note I use the "shared network" setting in Parallels and this has not adversely affected any of my applications, VPN operations, wireless access, or Evdo access.
1st determine your "en0" mac address. Two ways to do this.
1) In OS X open a console window and type "ifconfig en0" you will see something in the output that looks like; ether 00:16:cb:c9:da:53 (my example)
2) In OS X you can open your "System Preferences" and select the "Network" icon. From there in the "show" drop down window select "Built-in Ethernet", click the "Ethernet" menu tab and you should see something like; Ethernet ID: 00:16:cb:c9:da:53
- Armed with this info fire-up Parallels and after selecting your VM image (do not start it) go to the top Parallels menu bar and under "Edit" select "Virtual Machine".
- You should now be looking at the "Configuation Editor" for your VM.
- Select "Network Adapter 1" and then click on the "Advanced" tab top right.
- In the "MAC address" field replace the virtual mac address of the Realtek 8029(AS) with the real hardware mac address of your en0. i.e. 0016cbc9da53 omitting the colons.
This does the trick for XP but not sure for Vista.
Memory thresholds may trigger a reactivation request. See the excerpt below found on VMware's forum which would hold true to Parallels too... (I give XP 1024mb)
Known Issues (from VMware site)
The Microsoft Windows XP product activation feature creates a numerical key based on the virtual hardware in the virtual machine where it is installed. Changes in the configuration of the virtual machine might require you to reactivate the operating system. There are some steps you can take to minimize the number of significant changes.
Set the final memory size for your virtual machine before you activate Windows XP. When you cross certain thresholdsâ€”approximately 32MB, 64MB, 128MB, 256MB, 512MB and 1GBâ€”the product activation feature sees the changes as significant.
Note The size reported to the Windows product activation feature is slightly less than the actual amount configured for the virtual machine. For example, 128MB is interpreted as falling in the 64MBâ€“127MB range.
Install VMware Tools before you activate Windows XP. When the SVGA driver in the VMware Tools package is installed, it activates features in the virtual graphics adapter that make it appear to Windows XP as a new graphics adapter.