Причиной проблемы, с которой вы сталкиваетесь, является то, как SQL обрабатывает две части способа сохранения даты.
Дата хранится в виде двух частей внутри числового значения. Первая часть, целочисленная часть хранит день, а вторая часть, десятичная часть хранит время.
Если ваши две даты были эквивалентны 1,50 и 1,25, то 1,25 - 1,50 = -0,25 - это затем делится на две части: -0 дней и 0,25 времени. 0,25 дня будет переводиться в 6 часов, поэтому будет время 6:00 утра.
Чтобы правильно манипулировать датами, всегда используйте DATEDIFF и DATEPART.