A great deal of informed and erudite comment on this thread has been of considerable interest to a mere PPL like me (if I lose an engine my command decisions are pretty limited).
However one thing shines out very clearly from the discussion. V1 is being used for two different things - 'good-to-go minus one engine' and 'committed to take-off'. For low take-off weights and long runways these are often nowhere near the same value. Why has it evolved this way? Why can there not be an extra parameter in the take-off litany?
'V1' - 'Commit' - 'Rotate'
Then someone asks 'would you ever stop after 'commit' and the arguments go on ;-)