Excellent, thanks very much Simon.
I think part 1 is actually the same issue (that will be solved with your patch) and due to a confusion about dates - enrolling/cancelling/re-enrolling was what we first tried, to get the certificate completion date problem. On re-looking at this, the course completion date behaves correctly, so I think no further investigation needed.
Tim