So what exactly is the difference between the various ROMs.
The difference is which subsystems are included in the ROMs, in particular for hardware-near components. Unfortunately, CBM did not follow their own design principles and hard-coded a couple of decisions. For example, the A4000 ROM contains a RAM-Test for static column DIMMs that would, in this form, crash any other machine. Some machines include a "real" scsi.device, such as the A3000, some an IDE "emulation layer" such as the A4000.
At least, we have now a generic AGA/ECS graphics that is exactly the same on both machines.
I have an A1000 that I'd like to twinkick
But I'm also going to install vampire on it later on.
Well... there is no A1000 ROM, so we cannot guarantee that things will work on this machine, but it is quite likely (actually, very likely) that the A500 ROM will do, all provided the machine even takes a 512K ROM.
The vampire is just another beast. What the vampire team currently recommends is to go for the A1200 ROM. So for your particular setup, you need two ROMs, yes. A500 is a 16-bit ROM, A1200 is a 32-bit ROM, and their contents is different due to differring machine components.
Will one version fail where anothe one works and vice versa?
That is very likely, indeed. It all goes back to a couple of not-so-wise decisions and not following the own engineering guidelines in-house at CBM, and ignoring the same guidelines later on for the vampire. Sorry for that, but we cannot fix that.