There is no firewall between SCOM and Nessus - I can run MIB Browser from the SCOM server and get results back however when I try and do a discovery it fails. Does SCOM do something other than an SNMP Walk?
Have you ensured you have configured the network monitoring resource pool members correctly? i.e. if you have two servers, have both had the community string distributed etc
When you run the discovery, can you see anything in the Operations Manager event log on the management server / gateway that is running the discovery?