Você está usando os comandos CSI s
e CSI u
, que têm interpretações incompatíveis dependendo da implementação.
O primeiro pode ser "Salvar posição do cursor" ou "Redefinir emulador de terminal", sendo este último uma interface privada do Solaris.
Você deve usar uma biblioteca como ncurses para conseguir manuseio de tela portátil, mas se você ainda quiser codificar as seqüências de escape, isso pode fazer o que você espera:
printf ( "373[6;45H %s 38", asctime (timeinfo) );