After digging around more, I eventually found an object in the SDK called "ExtendData" and was able to add instances of those to my transaction in order to get the needed token. It appends that information to the request string, so you can use ExtendData for anything you would create a name/value pair for that isn't already specified in the SDK.
var edCreateSecureToken = new ExtendData("CREATESECURETOKEN", "Y");
var edSecureTokenID = new ExtendData("SECURETOKENID", strRequestID);
var transaction = new SaleTransaction(payPalUser, payflowConnection, invoice, null, strRequestID);
transaction.AddToExtendData(edCreateSecureToken);
transaction.AddToExtendData(edSecureTokenID);
Response response = transaction.SubmitTransaction();
string token = string.Empty;
if (response != null && response.TransactionResponse != null && response.TransactionResponse.Result == 0)
{
token = (from ExtendData test in response.ExtendDataList
where test.ParamName == "SECURETOKEN"
select test.ParamValue).FirstOrDefault();
}
paypalContent.InnerHtml = "<iframe src='https://payflowlink.paypal.com?SECURETOKEN=" + token + "&SECURETOKENID=" +
strRequestID + "&MODE=" + Config.PayflowMode +
"' width='490' height='565' border='0' frameborder='0' scrolling='no' allowtransparency='true'>\n</iframe>";
This seems to work correctly (Layout C shows embedded in my page with no errors) and allows me to avoid specifying a tender.