I appreciate everyone's help.  Here is the results of each suggestion:

Code changed to:

$RetVal = $objSoftware.AddNew("IdentifyingNumber", cStr($objInvt.IdentifyingNumber))
? "@error @serror"
$varRetVal = $objInvt.Name
? "@error @serror"
$objSoftware("Name") = $varRetVal
? "@error @serror"


and results were:

0 The operation completed successfully.
0 The operation completed successfully.
ERROR  : IDispatch........


Code changed to:

$varRetVal = cStr($objInvt.IdentifyingNumber)
$RetVal = $objSoftware.AddNew("IdentifyingNumber", $varRetVal)
? "@error @serror"
$varRetVal = $objInvt.Name
? "@error @serror"
$objSoftware("Name") = $varRetVal
? "@error @serror"


and the results were exactly the same.