Thanks Scott,
I fixed the problems
It was steps no 2.
I deleted
if ( ($check_status['orders_status'] != $status) || tep_not_null($comments)) {
tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . (int)$oID . "'");
I'm trying to figure out why order status update wont trigger the email to customer.
e.g. order up to processing or shipped, no email at all to customer.