Can a user's course completion status expire or get overwritten?

In general, no. Once a user completes a course, it will stay "completed" unless manually modified. However, if a course is configured with a Renewal interval, the user's completion status will reset on the date selected. This can be configured on the Content>Courses>Edit Course page>Configuration tab:

Note: For online courses, if you simply update the course with a new SCORM package, a user's completion information will not be changed.