SO: Whichever device is first in following a reboot works fine first time.
Although both devices will count as usb-storage, I suspect they require different drivers so on inserting device A, hotplug (or whatever it is that does the autodetecting goodness) loads up device driver A. When you unplug it, the driver is probably still loaded and so device B cannot work because driver A still "controls" the usb-storage. Maybe. I'm guessing.
Try booting, plugging in the memory stick, removing it and then doing an lsmod.
So, with the Camera connected to the laptop and mounted on /flash, from machine 2, I (as root) NFS-mounted the laptop's root directory machine 2. The directory of the Camera memory chip was visible on the laptop, type VFAT, and 'ls .flash' etc. showed all the files on the Camera. However, while the laptop's file system (including the presence of /flash, and files in other directories) was visible from Machine 2, 'ls laptop/flash' showed an empty directory on machine 2.
I could be wrong about this because I've never used nfs meself but I'm guessing that, because you've mounted the root partition over nfs to machine 2, you see just what is _stored_ on the root partition itself. Just because you've mounted /flash locally to the laptop doesn't mean the files are _on_ the root partition, they're just superimposed for users of the laptop.
I don't think I explained that very well but I hope you see what I mean.
I'm gussing you'd need to nfs share /flash
Try putting some other files in /flash while you don't have /flash mounted, then mount the camera or memory stick and see what you see from Machine 2.
Excuse my drivel and excessive round-the-houses going but it's morning and it's Monday and I'm not quite awake yet.
Cheers, Steve