cifs client (and smbclient) were setting file size to zero (instead of -1) in SET_FILE_INFO_UNIX_BASIC when trying to change the mode - and Samba 3.0.26pre exposed this by now interpreting this (size) field in this infolevel as valid on set. fixed in client (and server changed back to old behavior so old clients won't hit it).
Fixed by server 3.0.26 rc1 to match 3.0.25 and earlier). Also fixed in cifs 1.48 (will be in Linux Kernel 2.6.21)