Communicating with Peter Norburg Stepper Board

Your primary problem is with your calculation of the size of your Command array.

stepCommand is essentially a 2d array (and a jagged one at that).
This: char* stepCommand[] is the same as this: char stepCommand[][]
Your calculation of the number of elements in this array is incorrect. It's basically returning the total number of characters in the array, not the number of full command strings. The way you're defining the array, there's no easy way to calculate the number of commands in the array. Best to just handle that semi-manually, either with a #define or a const param. I would include this value in the declaration of your array as well, like:

char* stepCommand[numCommands]

Doing so will cause a compile error if your param does not agree with your array (if you add another command to the array and forget to update numCommands value, it won't compile)

Beyond that, you'll likely run into problems with your String objects as well. Best just not to use them. They thrash memory pretty hard.
And while this probably isn't exhibiting itself as any sort of problem, there's no reason to have a delay between Serial.available() and Serial.read().