After a frienzied debugging session, it appears that if you add a new field to a MySQL databases, then that field is not defined for any *existing* records, at least not to PHP (perhaps it is a PHP issue). It acts as if it is not there. I don't mean a null value, but no field of that name.
Most RDB's I worked with worked (or acted) like this: If you add a new field, then it updates the field dictionary. Any reference to that new field first checks to see if it exists in a given record. If not found, then it gives the 'default' value assigned to it based on the field dictionary. IOW, it did not need an actual fieldname/value pair in a given record because it assumed it was uninitialized or had a default value if not found in a given record. In OO terms (cough), it would be as if the field dictionary was the parent class. If an instance (record) had no attribute by that name, then it looks at the parent.
But MySQL does not seem to check the field dictionary if a value is not given in a record. Thus, adding a new field does not act as if it propogates the new field to every existing record, while other DB's it does propogate or at least acts like it.
Is that the way it is supposed to be, or is that a bug or am I just cracking up? (Please don't say all 3). Fortunately this is a "personal" project, so there is no boss breathing down my neck to hurry it. (Unfortunately, no paycheck-carrying boss breathing down my neck.)