Hola Microbiano...
Hace tiempo yo tube que realizar un proceso similar... y utilice los StringGrid para ingresar temporalmente los detalles de las Facturas / Orden de Compra y otros documentos similares.... Mi problema era que cuando el usuario queria eliminar una o modificar un producto me generaba algun error... aunque no era siempre....
Para solucionar eso lo que hice fue utilizar el componente JvMemoryData de la Jedi... que basicamente es una tabla de memoria temporal y es muy sencilla de utilizar...
Si quieres te dejo algunos ejemplos
Salu2

