me parece que esta bien, lo del borrado puedes solucionarlo con la funcion gotoxy, ya que conoces que maximo caben 80 aracteres por linea, deberias controlar que al borrar el caracter 80 el cursor quede en la linea anterior a la actual.
Como sugerencia, y ya que te ha edo bien con esto, te recomiendo que trates de rehacer la funcion utilizando funciones de más bajo nivel, ya que como la tines es muy lenta, una vez estes utilizando las funciones de bajo nivel, puede ser muchjo más facil lo del cursor..
Investiga bioskey y kbhit, adicionalmente puedes recurrir a las interrupciones de la bios, asi que tambien investiga acerca de del valor REGS y de las llamdas a travez de int486 o alguna funcion equivalente.
Bibliografia sugerida:
Lenguaje c para expertos
Helbert Schild