Not to worry - I've resolved the issue.
line in script now reads
DSN="Driver={SQL Server};Server=<PUBLICIP>,443;Database=<DBNAME>;UID=<USERID>;PWD=<PASSWORD>"
I've used the standalone firewall to open 443 to just our website host IP address and I use a relay (winiprelay) to change 443 to 1433 - I know I could change the listening port in SQL - but this was the quickest way to find an open port:
The script I used is:
<%
serverport = request.querystring("port")
serverip = "<publicip>," & serverport
Response.write "Attempt to connect to: " & serverip & "
" & vbNewline
Response.flush
DSN="Driver={SQL Server};Server=" & serverip & ";Database=<DBNAME>;UID=<USERID>;PWD=<PASSWORD>"
set my_Conn= Server.CreateObject("ADODB.Connection")
my_Conn.CommandTimeout = 60
my_Conn.Open DSN
response.write "Connected Successfully"
%>
So by running code via a browser on http://mywebsite/test_conn.asp?port=443 I could test that it worked - change the port=443 to something else to test a different port number. Once you have a working port you can fix the port number in the script and use that for real scripts!