ATook, be sure to check out Kean Walmsley's blog Through the Interface, and the adesk forums. You will find most of what you need for .net and acad/bcad.
For the loading, what I do is set up the On_doc_load_default.lsp with a netload statement.
That assumes you can do that. If making tools you will be running on systems you cannot control, I would provide a menu that has a .mnl, which is a lisp that loads with the menu. You can put the netload code in there.
The reg stuff works too, but can be tricky to troubleshoot if things are not loading.
aslo, your question about is a point in a pline - if you extend that point into a long vert line, and test if it intersects the pline segs, you can tell if the point was inside by if the point is between the intersection points. You have to think through the cases like point right on the pline, but that is the idea. I did my own line/arc intersection routines, and I recommend doing so as you need control of results at odd cases like things almost intersecting.