That code uses the Request.Form collection, not a recordset value.
This code:
<%
if (cStr(cStr(Request.Form("billingcountry"))) <> "") then
Session("TaxRate") = "" & cStr(cStr(Request.Form("billingcountry"))) & ""
end if
%>
Does not use a recordset value, it uses a form value. If it used a recordset value, it would look like:
<%
if (cStr(cStr(recordsetname.Fields.Item("TaxValue").Value)))) <> "") then
Session("TaxRate") = "" & cStr(cStr(recordsetname.Fields.Item("TaxValue").Value)) & ""
end if
%>
notice the difference in the lines setting the session value:
Session("TaxRate") = "" & cStr(cStr(Request.Form("billingcountry"))) & ""
Session("TaxRate") = "" & cStr(cStr(recordsetname.Fields.Item("TaxValue").Value)) & ""
Yours uses the Request.Form collection. The other uses the recordsetname.Fields.Item collection.