Te dá error porque seguramente en el SELECTSQL no tengas nada escrito, y lo que estás intentando hacer es abrir el DataSet con un 'Open', por lo que va a ir a ejecutar la sentencia que tengas en el SelectSQL.
Una de dos, o ejecutas el comando Insert que quieres, para ello debes de colocar ese comando en la propiedad SelectSQL de tu Dataset, y después en vez de abrirlo con 'Open', lo ejecutas con ExecSQL,
o bien ...
lo más lógico sería que tuvieras un DataSet completo, con todos los SQL correspondientes, es decir tanto el SelectSQL, como el InsertSQL, el DeleteSQL y el RefreshSQL.
Ademas, con la sentencía Append se ejecuta automáticamente la sentencia InsertSQL que hayas puesto. No es necesario volver a ejecutar 'Insert'.
Busca algo en los foros que hay documentación de sobra. Si tienes alguna duda más en concreto, aquí estamos !