Hola
Para ser honestos no revisé tu código, sin embargo, te propongo otra alternativa de solución a tu problema, mediante una cosulta a la BD, asumiré que estás trabajando con mysql:
Código PHP:
$sql = "SELECT idorden FROM ordenes WHERE idorden NOT IN (SELECT idorden from viaticos)";
En teoria esa consulta te trae todos los registros de la tabla ordenes que no tienen una correspondencia en la tabla de viaticos, no probé la consulta pero si no se me fue algo, debe funcionar =)
Saludos