CL will be switching to use the GO TERM and deprecating CL_0000000
Has_agent has no uses IIRC. If so it will be removed.
Is harmless and will occur frequently. All it means is that an ontology that is imported also imports ontology metadata. Many do.
The id attribute is not good practice. It confuses people as to what the ID is, contributing to interoperability problems. Ditto "alternative id".
The official ids are the PURLs, and the PURLs can be written correctly using curies
Do we need to remove both "derived_into" and "has_agent?"
Got it.
GO, ChEBI, and SO, etc. are using the id attribute. Having such annotations makes the ontology terms easier to be read by humans. For example, "cellular_component" has an id "GO:0005575;" thus, in Protege, we do not need to move the mouse over the term to see its purl. Anyway, this issue is not an important one before the paper submission.
I was tending to keep an inverse of any relation that was used. So I would drop has_agent only. But I am flexible on this issue.
GO, ChEBI and SO include that field for OBO format legacy reasons. They should probably be removed there too. You can download the URI plugin from http://code.google.com/p/co-ode-owl-plugins/downloads/list. This gives you a view which you can add to your screen that shows the URI.