Ich sehe gar keinen Code, in welchem Du die Icons überhaupt zeichnest. Entweder du übernimmst die komplette Darstellung eines Elementes, oder Du überlässt diese dem Standard-Handler. Aber teils/teils geht hier nicht.
...

...
P.S.: Eigentlich recht einfach:
YourImageList.Draw(Canvas, XPos, YPos, ImageIndex);