Just to provide some closure, I sent the relevant details about this bug to samba-technical list, and it turned out to indeed be a Samba bug. A developer sent me a patch last night that seems to have solved the problem. Thanks for everyone's help here!
-Fran
