You can run on command prompt isql -L which gives all the sql server running on network. You can use xp_cmd command to execute this command from query analyzer. You can easily call it from vb. Thanks Sanjeev OH
use master create procedure s_list_servers as xp_cmdshell 'isql -L' --something like this ....
After getting list of sql server you can use isql to connect each server and run @@version on each server which will give you the version of each server. If you need coding for this I may write it.