Hi Glen,
there a solution to solve your task by coloring each cell by the highest point within a cell by the color of the class.
We take one of the LAStools sample files:
lake.laz

37375 unclassified (1)
27929 ground (2)
2690 low vegetation (3)
3772 medium vegetation (4)
26934 high vegetation (5)
3922 water (9)
The mayor step is done by thinning the points to one (highest) point per cell:
lasthin64 -i c:\lastools\data\lake.laz -o tmp1.laz -step 11 -highest

Now we can use lasgrid64 to colorize this grid by classification:
lasgrid64 -i tmp1.laz -o tmp2.tif -step 11 -classification_majority -color_map map.csv
We use a color table to define our own colors for the occuring classes 1-5 and 9 using 8 bit RGB values:
colormap.txt
1 100 100 100
2 250 250 250
3 100 255 200
4 50 255 50
5 1 255 1
9 100 100 250
Finally we check the result in QGIS.
Each input point leads to an output pixel in the resulting image.
Best regards,
Jochen @rapidlasso