Имате ли часове, свързани с вашите дати? BETWEEN включва, но когато конвертирате 2013-10-18 в дата, тя става 2013-10-18 00:00:000.00. Всичко, което е регистрирано след първата секунда на 18-то число, няма да се показва с BETWEEN, освен ако не включите времева стойност.
Опитайте:
SELECT
*
FROM LOGS
WHERE CHECK_IN BETWEEN
CONVERT(datetime,'2013-10-17')
AND CONVERT(datetime,'2013-10-18 23:59:59:998')
ако искате да търсите целия ден на 18-ти. Зададох милисекунди на 998, защото SQL Server изтегляше 2013-10-19 00:00:00:0000 в заявката.
Полетата SQL DATETIME имат милисекунди. Затова добавих 999 към полето.