Dan, I had been worried that hacking the core data model may be a bad idea, and you have confirmed it...
The problem i see with using the generic "text" field in acs_attribute_values and hacking it into something else is in comparative queries... so, for example, if i want to pull out everybody with 5-20 children (and i realize i could just do 5-20 queries, but i am guessing more complex things could come up), and spam them with an advertisement for cheap Vasectomies... and to send a donation to everybody with more than 20 children or something like that... maybe i just don't understand how i can manipulate text fields well enough... i guess something like this may be possible, i just might not know how to do it yet (this is my first tcl/postgres project)... the same goes for comparative dates... varchar200 varchar4000 and text obviously are similar enough to work, and boolean can easily be represented by a "t" or "f"...