Too late to help you Johnp I guess, but I had the exact same problem and solved it. Two things...
#1 Possibly you can't restore an image to a hard drive that is even 1 megabyte smaller than it (the partition specifically) was when the image was created. I created an image just before shrinking my main and only partition, so later when I tried to restore to that partition of course it was too small. This seems stupid in my opinion (if what I'm saying is true); it should let you do it as long as the size of the image is smaller than the partition and just give you two options a) destroy the other partion(s) to get back to its original size or b) just lose the space and don't worry about it...because maybe you want to keep that other partition. Long story short, I had to delete and reformat, then extend into that extra partition I had created so that my original partition would go back to being the size it originally was.
#2 More importantly, the image has to be in the root for the image restore to find it. So attach the external hard drive to any other PC and cut and paste the the image to the root directory of your external. You could also use the cut and paste available when the image restore dialog boxes ask you to locate a driver
for your device (like you were talking about earlier).
Assuming both things I've said are true, these tips should be reminded to you as you enter the restore a system image application. Why did I have to google and trial-and-error for 2.5 hours? Are you listening MS?