Basically if you do the following: mount -t smbfs -o guest,rw //windows/mp3 /mp3 then you are in /mp3 and you try and unmount the share it gives a device busy error. not so bad by itself but when you reboot/halt the system from this path, the filesystem is not properly unmounted, as it just sits there forever in the shutdown phase trying to close the share. thus the local filesystem is not properly unmounted.
The 1st part is not a bug, the second looks like it may be a problem in reference counting in the kernel. I don't see any faulty code in mount.
The only way that could happen is if the shell hasn't been killed by the time the unmounting of remote filesystems is run. This looks like an order of operations issue in the shutdown scripts.