In v4.3 you can delete a client and all of it's related information, including services.
Packages can be deleted so long as no services exist that use it. So in v4.3, if you delete your test client that has test services, you can then delete the test package afterward.
the second option is more logical .
normally it shoudn't register any transaction even if it register as pending . i think if the module return null in success or activate fucntion it wouldn't register a transaction and that is the normal behavior .
another option is to add field for url, so we can put a page url then when the client click pay offline button it redirect them to the page where we add offline payment information and/or a section to select from cms pages if installed could be nice also .