You provide few details about your situation/configuration but I'm wondering if the umask of your server process(es) doesn't come into play at some point.
point. EDIT: Ah, I see smb.conf mentioned so umask is unlikely to be a factor.
You can always inflict file modes/owners/groups retroactively with the combination of the --recursive and --reference options to ch{mod,own,grp} thus:
cd rootOfHierarchyInQuestion ;
for command in chown chgrp chmod; do
sudo $command --recursive --reference=. . ;
done
...but I gather that's not what you want.