Removing points from slow riders
Time calculation
timeInSecs = firstPlaceTime.second + firstPlaceTime.minute * 60 + firstPlaceTime.hour * 3600

The first thing to do is attempt to get this as a timespan and avoid your own time math. In other words,
from datetime import datetime, time, timedelta

MIDNIGHT = time()

# ...

first_place_time = datetime.strptime(row[3], &quot;%H:%M:%S.%f&quot;)
time_span = first_place_time - datetime.combine(first_place_time, MIDNIGHT)
time_difference = time_span.total_seconds() * 1.15

Unpacking
You can unpack your row and avoid row[0], etc. fixed indexing, like:
category, position, name, race_time = row[:4]

Call reuse
This is written twice:
datetime.strptime(row[3], &quot;%H:%M:%S.%f&quot;)

so store it to a temporary variable.
PEP8
MaleCategoryList should be male_category_list, and MaxTime should be max_time.
Convert
Given the above code, you can get rid of most of convert. You should not put the time through another round-trip using a string.