Try this:
long* lRaceStartTime = RaceHandler.lRaceStartTime;
long lRaceElapsedTime = micros() - *lRaceStartTime;
You assigned the pointer to lRaceStartTime on the first line, but on the second line you are subtracting the pointer from micros()micros() which returns an unsigned longunsigned long. You need to deferencedereference the pointer before subtracting. AlsoAlso you might consider making all your longs unsignedunsigned to match the return type of micros():micros() http://arduino.cc/en/reference/micros