In case this may be of help to anyone:
After upgrading WordPress from 2.7.1 to 2.8 via Fantastico upgrade, I was not able to make user changes getting an error message about illegal ForEach() arguments in dregister.php at line 238. (Sorry, forgot to copy exact message)
Turns out the upgrade did not preserve the custom fields I had defined.
Going to the dregister settings and adding the custom fields back in resolved the problem. (Data was preserved because, I believe, the data is in meta data, not separate tables…)
Hope this helps.