A material has to have been used in the model, simply making it current is not enough.
Perhaps this is the Color_000 issue ?
http://sketchucation.com/forums/viewtopic.php?f=180%26amp;t=33847
As has been spelled out several times, adding small painted faces within some part of the DC is the sure way of having these available to use in the DC, however there is this potential difference between the material .name and its .display_name
The enclosing [...] etc show this.
Try using those for the material name, rather than the display name.
The code snippet I gave allows you to get any material's dual names.
I understand that the [...] indicate the material was at some time loaded into a model and not created from scratch.
It has been like that since v6.0
http://ruby.sketchup.com/Sketchup/Material.html#display_name-instance_method
Since you are shipping the materials you can choose the re-name them using the >=v8.0 method:
material.name="some_name"
A quick way to do this could be this snippet...
Sketchup.active_model.materials.each{|mat| p n=mat.name; p d=mat.display_name; mat.name=d; p mat.name }
This processes all of the materials currently used in the model and sets the mat's name to the display_name - thereby sidestepping any difference between the two...
It prints each material's name, display_name and final name - this safety-net is in case the new name is already taken by another material, in which case it'll get a numerical suffix added...
This has been cover ages ago by thomthom, here... some of his points have already been added to the API notes...
http://www.thomthom.net/thoughts/2012/03/the-secrets-of-sketchups-materials/