Hi,
If you wish to use Alfresco as a JCR repository, then you'll need to perform all interaction via the JCR interface. Otherwise, all the other Alfresco clients (CIFS, WebClient, FTP, etc) use the native Alfresco contentModel.xml. You'll need to use JCR-specific clients to interact with the JCR model, but data from both types of models can reside in the same repository.
What you are doing with the custom action is fairly normal. As long as you specialize cm:file or cm:folder to a subtype, then the applications around the repository will continue to work normally.
Regards