Plug this into /etc/rc.local just to test if this isnt a fault of mount -a, because if this is defined in fstab, this shouldve been mounted regardless:
#!/bin/sh
while : ; do
if df | grep -q '/home/userx/Public/.sd' ; then
exit 0
fi
mount -t cifs "//192.168.7.1/sd" "/home/userx/Public/.sd" -o rw,exec,guest,uid=1001,gid=998,file_mode=0755,dir_mode=0755,vers=3.0,soft,echo_interval=5,actimeo=10
sleep 5
done