Hi Chris,
I usually debug in the following way;
a) Using Firefox and Firebug, on the "console" view, check to see if a packet is sent back after the drop-list is selected.
b) Does the packet include the div's (and contents or lack thereof) of the dependent fields.
c) Is the packet returned complient XML. (There are lots of validators out there, but I use this
http://www.validome.org/xml/) - you can "copy" the reply from Firebug, and paste it into the validator - although firebug sometimes does a line-ending at a funny place that may need correction.
Depending on which one of the above is "incorrect", you then have a clue as to where to start looking.
If (a) doesn't happen, then look at the "reset fields" list for the drop-box. Check to see if the code is flowing through the validate::dropbox routine in the form, and work backwards from there.
If (b) then examine the code in the validate::dropbox routine to see why some fields are missing - also check field reset list.
If (c) then figure out where the xml is invalid, and where it needs to be tweaked to make it valid.
Or, of course, post an example here so someone else can do all the above.
cheers
Bruce