I recommend keeping all the records in one file unless it can't possibly be avoided.
Find requests can be set up that omit records that have a date in your DOT field.
To find all students whose last name starts with "C":
Enter find mode
Enter C* in the last name field
Select New Request
Enter an * in the DOT field
Select the Omit option
Perform the find.
Will this method stay permanent (the "terminated" records will always be omitted?) or will one need to perform this find each time the database is opened?
Now to figure out the script that will do this automatically whenever a date is placed in the "D.O.T." field.
You can write a script like this:
Enter Find Mode
Set Field [Yourtable::DOTfield ; "*"]
Omit Record//this is the same as clicking the omit option in a manual find
Set Error Capture [on]
You can set this script to run when the file is opened or you can use an OnLayoutLoad script trigger to have this script be performed each time you select a specific layout.
Even if you constrict your file to omit DOTs when you open the file, you will lose that ability every time your Users perform a find. You need to control all finds (which you should do anyway). The best protection is to let them find what they want and add a Constrain at the end of it, something like:
Enter Find Mode [ Pause ] ... user enters all criteria and multiple find requests all they want ...
Perform Find [ ]
Constrain Found Set [ Restore ; DOT field ; criteria = ]
BTW, it is easier to search for blank DOT (using equal sign) than to search for DOT with something in it (*) and then having to omit.