Reading a sequential text file from an SD card for LED sequence

Event sequence[150];

Each element of the array is 5 bytes. 150 of them use 750 bytes.

#include <SdFat.h>
#include <SdFatUtil.h>

Reading and writing to the SD card is done in 512 byte chunks. Those 512 bytes need to be stored somewhere.

Just these two items are using well over half of your memory, if you have a 328 based Arduino.

Constant strings take up memory, too. I suspect that you are running out of memory.

        if(isByteString == false) 
        {                  
          index++;
          timestampString[index] = '\0'; 
          long ts = atoi(timestampString);
          sequence[sequenceIndex].eventTimestamp = ts;
          char timestampString[10] = {0,0,0,0,0,0,0,0,0,0};
          index = 7;
        }

A local variable that goes out of scope almost immediately is hardly useful use of memory.

            timestampString[index] = char(buf[i]);

The char() macro is for people that don't understand casting. Casting a char to a char is hardly necessary.

  resetMillis();

Why? Calendars roll over at the end of the month. People manage. Clocks roll over at the end of the day. People manage.