Ok, it seems to be working as described above. A few observations;
When the teacher makes the submission final the message to the student is still "Assignment was already submitted for marking and can not be updated". This is incorrect and potentially confusing to students. Suggest an additional string for teacher finalised submissions something like "No further submissions are allowed".
Where the due date/time passes (WITH late submissions are not allowed) and the teacher clicks the "No more submissions" button the period of lateness is changed to reflect the time the button was clicked. If the submission is in draft mode then, arguably, the date/time of submission is the same as the due date for the activity - they can't submit late! So this needs to be reflected in the display - unless this is not regarded as a submission.
When feedback is added and then a response file is uploaded the feedback is lost. (This has always been the case but I've not got around to logging a bug before).
I like the suggestion for a global revert to draft / No more submissions button.
All this is quite different to the current behaviour, IMO it shouldn't be in anything earlier than 1.8.5. Preferably 1.9 onwards.