No parece nada complejo, son campos delimitados por comas. No te recomiendo hacer algo tan estático como lo que estas programando, yo utilizaría un TStrings para ahorrar trabajo:
Prueba esto:
Código:
Memo1->Lines->CommaText = "$GPGGA,091328,4151.249,N,00317.046,E,1,04,03.0,-0022,M,50,M,,*65";