No, no hacías nada mal

La clase TStringList toma como separador, además del asignado en la propiedad Delimiter, todos los caracteres menores o iguales a #32 (espacio), esto incluye los espacios, tabuladores, retornos de carro, etc ...
En la ultimas versiones de delphi (yo lo he visto en TurboDelphi) la clase TStringList cuenta con la propiedad StrictDelimiter, que si esta a TRUE, obliga a que solo el carácter indicado en la propiedad Delimiter sea usado como separador. Comprueba si tu versión de delphi cuenta con esa propiedad.