Solucioné el problema! 

La función 
json_last_error() informa si un JSON está mal construido. Como comenté anteriormente, esa función me devolvía: 
Caracteres UTF-8 malformados, posiblemente están mal codificados. Para no hacer más largo el cuento, la cosa se solucionó así: 
 Código PHP:
    while ($row = $resultado->fetch_object()) {
    $id     = utf8_encode($row->id);
    $nombre = utf8_encode($row->nombre);
    $ciudad = utf8_encode($row->ciudad);
    $codigo = utf8_encode($row->codigo);
    $filaHTML .= "<tr> <td>".$id."</td> <td>".$nombre."</td> <td>".$ciudad."</td> <td>".$codigo."</td> </tr>";
}
$arrayRespuestas = array(
    'filaHTML' => $filaHTML,
    'statusResponse' => 'Respuesta AJAX OK'
);
echo json_encode($arrayRespuestas); 
    
  Ahora bien, yo lo arreglé así. Pero en vista que este post ya se hizo bastante grande, imagino que tú, 
pateketrueke, normalmente no tienes ese problema. Así que: ¿qué haces para que no te surja este embrollo? Mi BD tiene cotejamiento 
UF8_general_ci, con lo cual, entiendo, el problema no debería estar ahí. 
Bueno, creo que es todo, muchas gracias maestro, y hasta pronto.  
Saludos!