I created an event and assigned it to a category. Then I changed the events date. When I looked with the category view, it showed the original date under the Date column. It would appear the date is kept twice and is not actually based on an index built for the view.
It is probably not a good idea to keep a date in two places, but at least this lets you know how it happened.
I had the same trouble..., until it´s fixed, I used this script on mysql.
UPDATE `events` set `day`= day(`start_date`),`month`= month(`start_date`), `year`= year(`start_date`) where date(`start_date`) <> date(CONCAT(`year`,"-",`month`,"-",`day`))
also update line no 522 print_edit_event_form function in file admin_events.php with
UPDATE ".$CONFIG['TABLE_EVENTS']." SET
title = '$title',
description = '$description',
contact = '$contact',
url = '$url',
email = '$email',
picture = '$picture',
cat = '$cat',
day = '$day',
month = '$month',
year = '$year',
approved = '$approve',
start_date = '$start_date',
end_date = '$end_date',
recur_type = '$recur_type',
recur_val = '$recur_val',
recur_end_type = '$recur_end_type',
recur_count = '$recur_count',
recur_until = '$recur_until'
WHERE id = '{$form['id']}'";
so when an event is updated the day ,month,year fields for the record are also updated which did not happen.