What ?? I don't understand the first sentence. ... Are you suggesting a second record stating a period of unknown status?
E.g. you have tblUnitLocations (the example covers both cases):
Code:
ULID, UnitID, ChangeFrom, Location, Comment
12 33 21.03.1912 London
44 33 01.02.1913 Null The new location is unknown
91 33 13.08.1914 Essex
To get a parameter value at any given time moment you can use an UDF ValidValue() I posted recently in another thread.
https://www.accessforums.net/showthread.php?t=71974
So the question is when asking MS Access to enforce referential integrity in a table for the N+ (24) time, it errors out. What is the fix for this?
The easiest way is to create a design where the problem doesn't exist 
When designing a database, don't create a design which feels good or cool for you at start, and then try to bend the database according your design afterwards. Instead go with flow! It will be easier for you, and as rule the result will work faster and is more user-friendly. Use strengths of program, and avoid it's weak points!
Btw, with design I adviced it will be easy to design user interface. E.g. you have a single form fUnits, where you select an existing unit or add new one, and edit permanent characteristics for it. On this form you have a tab control with pages for every changeable characteristic and for every subregistry like staff. On every page is a continuous subform for characteristic history, or for subregistry. Subforms are linked to Units form through UnitID, so whenever you add a new entry into subform, it will be autamatically linked with active unit in fUnits.