- Doing development is easiest if you check out on a single branch.
- It's bad to check out on a symbolic tag (which is what -compat is) to do development since it will be "sticky" and you will not be able to commit.
- HEAD breaks -- it's less stable than the release branch and for most people not working on features in acs-core it's not the best alternative.
- Sometimes people need to use features only on HEAD in which case developing on HEAD is the only choice. In very general terms: develop on a checkout of oacs-5-1 (checked out with "cvs co -r oacs-5-1") unless you are adding features to acs-core or need to use features added to acs-core which are only on HEAD.
As for developing in your own CVS repository and merging back, there is a lot more complexity and I don't think if you are less experienced with CVS that there is going to be any easy solution. I think for most people the best bet is either stick to submitting patches versus the reference copy you got or working on an openacs.org CVS checkout making parallel changes to whatever you are doing in your production environment (i.e. exactly what you are doing now).
Or, yeah, find someone to act as gatekeeper/patch merger between CVS and an Arch repository and switch to Arch.