That 100Mb missing partition is created by either Win 7 or 2008 R2 during install, but only if you do not have any partitions on the disk already!
Article detailing how to avoid it and/or remove it
When I had to swap out my drive, and restore a backup image, I had to modify the boot manager store to point to the new serial/hash for the replacement drive.
It looks to me Andy that when you did your restore your boot store was put onto a different drive to where it was originally, and if you had installed 7 to an unpartitioned drive your restore did not include the 100MB system drive.
Win 7 wanting to write it back to you E: drive may be correct, as this is the first drive your system BIOS presents as the boot drive.
The boot store will then tell the OS loader where the OS is loaded from.
What you may want to try is booting from Win 7 DVD and selecting the Command Prompt option.
Once that has loaded do a dir c: and compare the listing returned with what you know as your C drive, it may come back with the folder listing of your E: drive!
This excellent article is for Vista, but applies to Win 7 too and you could follow the 2nd to last or last process to wipe clean your BCD store and recreate afresh.
Another good BCDEDIT tutorial on the seven forums site (a good site)