It's good to see you back Gregor, most welcome.
For "Special States", another way to look at it is that this doesn't really relate to a character but to the coding of a given character for a given taxon. It is really the status of the coding of that character for a taxon. Instead of storing it as a part of the character (by creating a new state for the character) why not create a new element for this information and attach it to the taxon by character intersection (or "cell", or "taxon description"). Call it "Coding Status" with an enumerated list of "Coded" (meaning the taxon has been coded for this character), "Not yet coded" (meaning it will be coded when I get around to it), "Not to be coded" (meaning it can be coded but I not going to) and "Can't be coded". Then add a text attribute to this element to allow an explanation of what's going on for the coding of this character for this taxon ("I haven't yet coded this character because suitable material of this taxon is currently unavailable"). This would seem to meet the needs of computer processing (through a defined, machine-readable enumerated list), extensibility (by supporting additions to this list such as "Coded but unreliable") and a full, human-readable explanation of what's going on (in the text comment).
I think this "problem" is directly related to a number of issues I raised in early March and Kevin expanded on in his email of 21 March. Until those issues are addressed I don't think we'll make any real progress and we will continue to be distracted by the detail while the bigger picture and ultimate goals of this project are overlooked.
We need to take a step back before we can move forward.
Thanks, Steve
Steve Shattuck CSIRO Entomology Steve.shattuck@csiro.au