На практике встречаются все варианты. Мне более правильной (привычной?) кажется схема, когда существует синглетон-обертка типа $request->getParameter('param_name', 'dafault_value', 'filter/validation_rule')
И модель не должна что-то там читать из get-запросов, ей нужно передать параметры, имхо.
т.е. в контроллере что-то типа
$from = $request->getParameter('time_from', '00:00:00', 'filter_time');
$to = $request->getParameter('time_to', '23:59:59', 'filter_time');
$tasks = $tasks_model->getTasksByRange($from, $to);