Some random thoughts after reading the documentation.
The API looks like it is tied to the UI and uses global objects / state. For example, it seems that I have to change the selection in order to delete an object. I heard this called the "accumulate and fire" anti-pattern. Of course exposing methods to retrieve the contents of the selection are a must, but changing the selection or any other UI element should not be necessary to execute operations. The downside is that it requires many changes on the Inkscape side - several important internal functions require an SPDesktop for no reason other than getting the selection, while they should operate on object lists instead. 0.47 is supposed to be a refactoring release, but to me it looks like what was done so far just scratches the surface.
The demos are exciting, but let's also think about doing it right from day 1 so that we won't have to turn around, waste time and break things later.
Regards, Krzysztof Kosiński