Someone on cf-talk today asked about how to force CF to remember the case of a struct key. If you use dot notation, s.nAme = "ray", CF will uppercase the key. If you use bracket notation, s["Name"] = "ray", CF will remember the case.
However, this is not (afaik) intentional. If case is important to you, simply store the string. For example:
s = structNew();
s.ray = structNew();
s.ray.value = whatever;
s.ray.label = "Ray";
Another possibility is to a use a java HashTable, but that may be a bit too complex for folks not used to Java.