No he probado los códigos que han puesto pero me parece que cuando el usuario ingresa un valor en un campo, por ejemplo txtCent, por lógica se ejecuta el evento txtCent_Change(), esto va a cambiar el valor de txtFahr, lo que desencadenará el evento txtFahr_Change() y al estar redondeado el valor de txtFahr la conversión a celsius no va a dar el mismo valor que ingresó el usuario por lo que txtCent cambia su valor y vuelve el evento txtCent_Change(), luego txtFahr_Change() y sigue hasta desbordar la pila.Mi consejo es que utilices un botón para cada conversión en vez de usar los eventos de los campos.
Te sugiero usar "round", a la que le podés especificar cuantos decimales querés como segundo argumento, después de una coma:print round(123.5576878,2)123.56Fix e Int solo te devuelven la parte entera del número.Saludos.