Sorry, I forgot to react to the first point. I am not sure if marking the activity finished for all role parts where it is referenced, is what is intended by the specification.
If you think of a learning design with two plays, which both reference the same activity, but in two different contexts. If a user first executes play 1, and passes the activity, and later he executes play 2. When it comes to the activity he already has passed in play 1, it could possibly make a different sense in the new context, and if it had been already marked as finished, the flow of play 2 could become disturbed, or in the first case no longer make sense.
Does this make sense?
If you think of a learning design with two plays, which both reference the same activity, but in two different contexts. If a user first executes play 1, and passes the activity, and later he executes play 2. When it comes to the activity he already has passed in play 1, it could possibly make a different sense in the new context, and if it had been already marked as finished, the flow of play 2 could become disturbed, or in the first case no longer make sense.
Does this make sense?