Well the printer will need specific drivers for each OS it runs on.
As for file sharing, it can be a bit tricky. Can't say anything about Ubuntu but I have my OSX 10.2 iMac, my Windows XP SP3 and Windows 7 Pro machines all sharing files, but it's kinda done manually.
I don't see the Win7 or the iMac in my XP Network, but I can connect to them if I plug in machine names manually into the address bar (iMac comes up as Samba file server). Similarly, if I use "Connect to server" on my iMac and plug in the IP addresses of the other machines then all shares will be displayed.
First thing for you to check is all machines are linked to the router fine. From there trying pinging the IP addresses of the other machines and printer from each machine. This will tell you if each address can be reached by everything else.
From there try to connect to each machine manually ("Connect to server" on OSX, double-backslash computer name for Windows, whatever on Ubuntu) and see what happens.
I'd also strongly suggest using any file sharing wizards that come up when sharing files in each of the OSes just to ensure all permissions are set correctly.
Best I can do you I'm afraid.
P.S. take your e-mail address off your post lest you want to be bombarded by spam
Also, Microsoft does have an official Windows 7 Support Forum located here http://tinyurl.com/9fhdl5 . It is supported by product specialists as well as engineers and support teams. You may want to also check the threads available there for additional assistance and guidance.