Pues tu problema es de Javascript

sobre escribes los selects por eso se pierden los valores
Mira si esto te funciona:
Código Javascript
:
Ver original$("#cia").on("change", buscarTc);
$("#tc").on("change", buscarBco);
$("#bco").on("change", buscarCta);
function buscarTc(){
$cia = $("#cia").val();
if($cia == ""){
$("#tc").html("<option value=''>Primero seleccione una Linea Aerea</option>");
} else {
$.ajax({
dataType: "json",
data: {"cia": $cia},
url: 'buscar.php',
type: 'post',
beforeSend: function(){
//Lo que se hace antes de enviar el formulario
},
success: function(respuesta){
//lo que se si el destino devuelve algo
$("#tc").html(respuesta.html);
},
error: function(xhr,err){
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status+"\n \n responseText: "+xhr.responseText);
}
});
}
}
function buscarBco(){
$tc = $("#tc").val();
if($tc == ""){
$("#bco").html("<option value=''>Primero seleccione una Tarjeta</option>");
} else {
$.ajax({
dataType: "json",
data: {"tc": $tc},
url: 'buscar.php',
type: 'post',
beforeSend: function(){
//Lo que se hace antes de enviar el formulario
},
success: function(respuesta){
//lo que se si el destino devuelve algo
$("#bco").html(respuesta.html);
},
error:function(xhr,err){
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status+"\n \n responseText: "+xhr.responseText);
}
});
}
}
function buscarCta(){
$bco = $("#bco").val();
if($bco == ""){
$("#cta").html("<option value=''>Primero seleccione un Banco</option>");
} else {
$.ajax({
dataType: "json",
data: {"bco": $bco},
url: 'buscar.php',
type: 'post',
beforeSend: function(){
//Lo que se hace antes de enviar el formulario
},
success: function(respuesta){
//lo que se si el destino devuelve algo
$("#cta").html(respuesta.html);
},
error: function(xhr,err){
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status+"\n \n responseText: "+xhr.responseText);
}
});
}
}
Saludos