s := k mod 60;
k := k div 60;
m := k mod 60;
k := k div 60;
h := k;
В твоем решении очень плохо то, что ты начинаешь с часов. Тут очень просто ошибиться. Второе - первый иф просто бессмысленный. Его тело никогда не выполнится. А второй плох тем, что s может выходить за пределы 59 не на одну минуту, а на больше. Короче, просто замени все тело своей программы кроме райт и рид на код выше ;)