может быть я не так понял, но можно попробовать искать последовательную пару времен захода/выхода из инета, относящихся к одному пользователю (определить начало и конец одной сессии), искать время проведенное за одну сессию (конец сессии минус начало сессии), когда продолжительности всех сессий найдены, тупо суммировать - итого общее время проведенное пользователем.
загвоздка -то в чем? , если в типе TDateTime, глянь вот тут:
Процедуры и функции работы с датой и временем
и для обмозгования можно несколько строк лога?