I ran into the same problem. I need to get the servername and you can't use @@servername so I'm trying it with sysservers but I can't because of the NVARCHAR(MAX) SQL 2000 limitation. Is anyone aware of a way to get the servername without using
the ExecuteSQL() function?

Whereas I can't speak to the executesql issue there is a way to get server name through either the Server facet or the Server Information facet. I would recommend using the Server Information facet -> NetName or the Server -> ComputerNamePhysicalNetBIOS
or Server -> NetName. One or both of these facets should be able to evaluate against a SQL 2000 instance.