Is there a way for Memberships to be non-time dependant? educational course progress type?
Any reason that the following wouldn't suffice:

set them to 'Lifetime' and then have a process eg via Webform_civicrm (or Rules) to close them off and start the new one when they move up a level