Grevisse (éd 1988 page 890)

Demi et mi, précédant le nom qu'ils qualifient et auquel ils sont joints par un trait d'union restent invariables :

Deux DEMI-douzaines.


Si le nom est précédé d'un autre adjectif, on supprime le trait d'union :

Ce n'est qu'une DEMI jeune fille.


Quand demi suit le nom, auquel il est joint par et, il s'accorde avec le nom en genre seulement : (en apparté : décidément, j'adore la grammaire. Je n'aurais jamais imaginé une règle pareille : en genre seulement !)

Deux heures et DEMIE. Trois litres et DEMI.


En dehors de la coordination, cela est assez rare :

Freydet n'en revenait pas : Danjou, le pâtre du Latium, une perruque! / — Oh ! seulement une DEMIE
(A. Daudet, Immortel, IV)