Be careful with your terminology, it can be tricky. You can't set or change the VID, that comes from a table programmed into each individual CPU by Intel. All you are changing in the BIOS is the Vcore, or the offset that is applied to the VID. Even in manual mode you aren't setting the actual VID, although I guess you could argue that you are overriding the CPU VID, which is why it shows that way in the monitoring programs, but the CPU itself is still going to have a VID that may be different from what you set.
Adaptive is different, and apparently works different in different boards, where you are supposedly using the auto VID at stock speeds and then an offset at overclocked speeds. But I don't know that it actually works that way in practice - seems more like the boards just set whatever they want.
Haswell CPU's have a number of programmed tables for VID to use, according to all the instructions it gets from the MB.
Instruction A: Vcore to Adaptive plus C-states to on in UEFI. For this sort of instruction the CPU has a programmed table that let's it go with whatever voltage it needs under the given circumstances (frequency, load and temp) and then decides in real-time the actual voltage (but it won't go to 1.4V when you set the multiplier to 47 because that voltage is not programmed in the tables).
From what i have seen on my cpu, it won't go above 1.201V on its own when on Adaptive.
Instruction B: Vcore to Manual and C-states to On. It will take the voltage you set for vcore (ex 1.250V) as the maximum it will use but still lower it when the frequency/load lowers (again, according to the programmed tables)
Instruction C: Vcore to Manual and C-states to Off. It uses the 1.250 in this example all the time (according to the tables for this sort of instruction)
All of the above Instruction Plus OFFSET - when one of the cores gets to 100% load, it ads the offset.
Etc... (there are other things that come into play, obviously)
I assume these tables differ from one cpu to the next, and they are determined through the testing process.
This is a layman's way to look at it.