You can release the modelstore in 2 ways.
1) Stop all AX AOS instances, import the modelstore, start 1 AX AOS instance, do maintenance tasks (Data dictionary synchronize, refresh AIF service endpoints on the AIFServices form, create new / activate existing AIF ports, change setup, run upgrade scripts, whatsoever), restart maintenance AOS, start all other AOSes
2) Let AOSes run, import modelstore to temporary schema, when maintenance comes shut down all AOSes, apply the modelstore from the temporary schema to become actual, then you carry out the remaining steps as normal.
The reason why your AIF ports may become corrupt can be a lot, i.e. if you have compilation or CIL errors, you forgot to stop your AOSes when you release the modelstore, or if something tries to call the AIF port from outside while you have maintenance.
Typically the issue is related to the last point, so during our maintenance we always ensure that our eCommerce portal, .Net middle-layer that calls AIF services, repoprting and BI servers or anything else which might interact with our AX system are also stopped. This way I can safely release the modelstore, do my changes, and once I am done with the release process, I can start everything back and not worry about failed AIf ports.
Regarding your second question, I agree that a freshly released modelstore should contain Full CIL, but Microsoft did not want to risk people's negligence on this matter I guess, and sticked an Incremental CIL in there anyway. I cannot question their logic on this, it is better to be safe than sorry :)