To programmatically determine if you are connecting to a server running wssv2 or wssv3 via a FPRPC call, use the server version RPC.
If the major version is 6, then it's WSS v2.
If the major version is 12, then it's WSS v3.
=====================
GET /_vti_bin/shtml.dll/_vti_rpc HTTP/1.1
X-Vermeer-Content-Type: application/x-www-form-urlencoded
Host: troys1
Accept: */*
Content-Length:21
Connection: Keep-Alive
method=server+version
HTTP/1.1 200 OK
Connection: close
Date: Thu, 25 Jan 2007 22:47:57 GM3
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 12.0.0.4518
Content-type: text/html; charset=utf-8
Set-Cookie: WSS_KeepSessionAuthenticated=80; path=/
<html><head><title>vermeer RPC packet</title></head>
<body>
<p>method=server version
<p>server version=
<ul>
<li>major ver=12
<li>minor ver=0
<li>phase ver=0
<li>ver incr=4518
</ul>
</body>
</html>