Let me try....
1st off, the structure of MMA is not nearly as neat and tidy as it could/should be. If you ever decide to write something like this remember to structure your DATA FIRST, then the code. Don't do it the wrong way around like I did.
Now, there is structure
Lowest level is PATTERN. A pattern is simply a collection of on/off pulses for a given track or instrument for a single bar or beat. You can define a pattern with the <track> define command. So,
Drum Define D1 1 0 90
defines a pattern which sets a drum hit at beat one, velocity 90, etc.
And
Drum Define ZZ 1 0 90; 3 0 90
also creates a pattern with hits on 1 and 3.
You can combine existing patterns:
Drum define XX Z0; Z1; Z3
(assuming the Z0, etc are existing patterns) is quite useful.
Next level is TRACK. A track is just a collection of patterns
So, assuming that the Z0 etc are defined:
Seqsize 4
Drum-Zoos Sequence Z0 Z1 Z3 Z1
Creates a drum track with a pattern of Z0 on the 1st bar, Z1 on the 2nd, etc.
Finally, a GROOVE is container for an existing set of defined tracks and other settings.
Back to your question about stdpats. Nope, you don't need to use them at all. The main reason for NOT using it in metronome was so that we could use a custom pattern using the $_Stackvalue macro which lets us turn off the metronome sound when the macro NoMetronome is set. This can be useful in a script.
stdpats is just a convenience when you are creating, well, standard sequences.
Hope this helps.