You will have to debug. The name must not be set properly.
Where you have:
if ((strlen($cac_quote_new_temp_qnums_byclient2reccart->getColumnVal("part_name"))) == 2) {
$ATC_itemName = "". html_entity_decode($cac_quote_new_temp_qnums_byclient2reccart->getColumnVal("description")) ."";// column binding
} else {
$ATC_itemName = "". ($cac_quote_new_temp_qnums_byclient2reccart->getColumnVal("part_name")) ."";// column binding
}
add this after:
die("added name: " . $ATC_itemName);
If there is no name, then one of the lines above must be wrong when the name is set.