Zitat:
VT_DECIMAL
Value: 14
A 16-byte fixed-pointer value.
VT_I8
Value: 20
A 64-bit integer.
Vielleicht, weil es passieren kann, dass die 16 Byte nicht in 8 Byte rein passen?
Und außerdem ist Decimal ja sowas wie ein Float, bzw. mehr wie Currency.
(intelligent wäre es aber schon gewesen, wenn bei ganzzahl mit maximal 8 Byte (abzüglich 1 Bit) das vt_i8 anstatt vt_r8 genommen würde)