Reproducer in Draw:
Take as1-oc-214.stp from www.cax-if.org
> pload ALL
> NewDoc d XmlXCAF
> ReadStep d as1-oc-214.stp
> XShow d # you will see correct colors
> SaveAs d C:/temp/as1-oc-214.stp
# Rename C:/temp/as1-oc-214.stp with as1.stp
> Open C:/temp/as1.stp d2
> XShow d2 # No colors
The same fails if to use NewDoc d BinXCAF. The same works well if to use NewDoc d MDTV-XCAF. So the assumption is that storage/retrieval of some XDE attributes in Xml/Bin format is missing or incorrect. Using XDumpDF on d2 produced by different formats gives no clues – the structure is the same, and I did not have time to dig deeper.
Hope this will be helpful.