While this might not be relevant to the discussion about how things
should be, here are the results of my experiments with colourful
Arabic in three browsers:

Surrounding Arabic diacritics with coloured spans causes the browser
to either ignore the colouring, as does IE 6, or causes the letters to
be displayed in isolated forms, as does Firefox 1.0.4 which also
doesn't display the diacritics at all in this case!
Opera 8, while it applies colours to diacritics as intended, displays
isolated forms.

Applying colour spans to individual letters causes both Opera and
Firefox to display isolated forms of the coloured letters, while IE
colors the connected form appropriately, and applies the same colour
to the whole of a ligature which has any of its members coloured. It
also applies the same color to any diacritical marks that are
following [on] any of the ligatures individual letters (in this case
the mim in lam-mim) and ignores specified colors of diacritics as
always.