So, the next OS version should correct this historical error,
and there will be a lot of money for all the companies that
worked on bug 2000 and then went out of business in 2001.

//What is wrong with black being 0, white being 16777215 and 1
representing very dark blue?//

Actually, representing colors as floating point RGB triplets between 0 and 1
is quite useful, because the product of any values between 0 and 1 will itself
be between 0 and 1 (inclusive). The standard integer representation
between 00h and FFh for each color doesn't have that property, which makes
such a color representation a pain to work with.

In case the reason why this is a useful mathematical property for colors isn't
obvious, it's because graphical compositing is done largely through
multiplication. Take two pixels and an alpha value (all expressed as floats
between 0 and 1), multiply the first pixel by the alpha value and the second
pixel by (1 - alpha), and add them together. The result will be a blend of the
two pixels as “weighted” by the alpha value, and will always be between 0
and 1.

On that basis I suggest that it is obvious that we should extend pashute's plan to full glorious colour using the simple and straightforward maths of quarternions. This only has the minor drawback of needing to be able to cope with a gamut including negative values.

Black would remain at zero, but now would take pride of place at the centre of the colour cube.