Could the problem be...

code:
$RetVal = $rs_Software.AddNew("IDN", $objInv.IdentifyingNumber)

How about...

code:
$ID = $objInv.IdentifyingNumber
$RetVal = $rs_Software.AddNew("IDN", $ID)