Parece que o comando "sair" da tela estava retornando antes de liberar o log. Adicionar um atraso entre o comando final da tela e o registro de data deve permitir que a tela termine de gravar no registro. Outra opção seria usar um loop "ocupado" para aguardar que o log seja gravado em:
...
screen -S trans -X quit
while [ ! -s screenlog.0 ]
do
sleep 1
done
date +%F~%H:%M:%S >> screenlog.0
...