si quieres trabajar con StringGrid los items de una Factura, creo que te podrás encontrar algunos problemas, sobre todo cuando quieras eliminar o modificar un item y despues quieres volver a ingresar otro item...
a mi paso mucho, por lo cual lo solucione con un componene de tercero llamado NiceGrid...
Aunque actualmente lo estoy trabajando con Tablas de Memoria y vinculando todo a un DBGrid, es mucho más practico
salu2