I wouldn't go for a PS3 until I'd messed about with XBMC quite a bit more. Might be jaded opinion but if the SMB shares aren't working on XBMC, then you're aw well to try the other protocols first as well, before resorting to the expense of a PS3.
The SMB shares can sometimes be a bit awkward in XBMC. I have no idea why, I've always had great success and use them allways to stream for 4 different computers. I have known others who can't find the computer, can't go into unpassworded shares, and as always, ones who haven't shared anything and think it'll magicly work.
If this isn't working for you, then the best solution is UPnP. As competes2win says, TVersity is a really good program that will do all of this, free, but if you don't want to install more programs then WMP11 does it as well.
If you know that you have shared something, then make sure that the XBox and PC can see each other by trying to connect to FTP and by going to View WorkGroups in XBMC Filemanager. If you can FTP but not see your computer then its either a network problem, or a firewall problem. If you see the computer but no files, its a sharing problem, and if you see nothing and FTP fails its definitly a network issue.