Now I see that you already had some help from Thomas, who said what I did, just much better.
The trouble of your situation is that you don't know whether the main app's code uses a cursoradapter or not. You can make this work only if it doesn't - if you attach your cursoradapter to a cursor, any other adapter on the same cursor would get detached (and from that point on I don't really remember what happens to it - once I had a situation I fixed it immediately). Any code written in that adapter would not fire - yours would - so you have a chance of breaking their code.
So, here's an idea. Try to see if there's an adapter (a GETCURSORADAPTER(lcAlias)). If it exists, bindevent() to it; if it doesn't, create your own and attach it to the cursor. The adapter events will fire on each tableupdate() on that alias.
try
loAdapter=GETCURSORADAPTER(lcAlias)
catch to loErr
loAdapter=createobject("cursoradapter")
loAdapter.CursorAttach(lcAlias, .t.)
endtry
bindevent(loAdapter, "AfterInsert", myObject, "myMethod")
You'd need more error checking (alias not used, buffering doesn't support having an adapter on the cursor), and you'd need to make sure the adapter stays in scope. Debugging will then be nasty, if you can't run a copy of the app you're hooking into within VFP.