add_row() just like update_field() when a field does not already exist in the DB then you must use field keys instead of field names to add values from PHP
$row = array(
'fiield_XXXXX' => esc_sql($_POST['title']),
'fiield_YYYYY' => esc_sql($_POST['description']),
'fiield_ZZZZZ' => $attachment_id,
);
add_sub_row(array('tabs', $tab_counter, 'downloads'), $row, $machine_id);