The value contained in the <portlet-name>[PORTLET NAME]</portlet-name> tags in java_portlets.xml file must match thevalue contained in the <portlet-name>[PORTLET NAME]</</portlet-name> exactly. If not the following error is shown on import: (Could not find this portlet in the “server/kintana/deploy/[WAR NAME].war/WEB-INF/portlet.xml” file. )
The "non-builder" portlets in the Mercury document that subclass the internal classes no longer work as some of the method signatures have changed. Although they can be reverse engineered, my guess is that that approach would not be a good one for continued future support, i.e. they changed once and could change again - also the custom development is all mixed in with the product classes, making patching and upgrades a bit more uncomfortable.
HP have commited in documentation to supporting the JSR168 standard. For a production solution that approach seems quite viable. This also has the advantage of neatly seperating the custom development.