logico mi amio.
cuando vos enlazas el datagrid a un datasource, es como si estarias manipulando LA FUENTE DE DATOS (datasource) mediante el datagrid. seguramente tu datasource apunta a una BD o no ???
cualquier modificacion que hagas en el datagrid, afectara a la tabla a la que apunta.
agregar una fila, al grid, cuando esta enlazado, es lo mismo que decir que quieres, hacer un alta en la tabla .... no se puede hacer asi.
tienes que desvincular el grid del data source para hacer eso.
seria buenq ue nos digas, con que entorno de desarrollo trabajas ... visual c++ , o builder, .. etc etc etc.
basicamente lo que te digo es que cuando intentes agregar una fila mas al grid, al atributo DATASOURCE, no dejes vacio, que no apunte a nada, desvinculalo de cualquier datasource