For users who are having problem with Samba not working at startup, I propose 2 solutions.
1- Create a Batch file (file_name.sh) on the computer or host it on the net.
To give sudo access, use this:
http://linux.about.com/od/commands/l/blcmdl8_sudo.htm
sudo -V | -h | -l | -L | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [ -u username|#uid ] command
check the url to know how to write it.
The next line of your script will be:
sudo smbd restart
That is it any time you double click this, it will reboot samba for you.
2- The other way is to place the way to that script in the autostart and writing a delay script before the sudo command in proposition 1.
Well hope that may help you.
note: Just know that putting the sudo password in that file is dangerous. A way round is to create a special user for that purpose who will have the permission only to reboot samba.
This was implemented on Ubuntu Desktop 12.04 x86.