Set your autonumber to increment, its sole purpose is to be unique. Never knew, much less used, that there was a Random option.
1. You've over normalized with lookup tables. Tables with just 1 real field of data (autonumbers aren't real data, they are internal to the database) do not need to exist. So, instead of having the numeric field [EventPriorityID] in tblEvent is unnecessary. Instead it should just be a text field where you store the actual value (e.g. Highest, Highe, Normal, etc.). You've done this a lot.
Now, you can also solve this by combining all your lookup tables into one master lookup table. You do this by adding a new field to designate what type of lookup the record is for.
2. You have both AssetID and AssetNumber as foreign keys in tables (tblMainenance, tblEvent) --you only need to link to the primary key of tblAsset which is AssetID.
3. Possibly--Circluar relationships. tblAsset has FacilityID, tblEvent has AssetID and FacilityID. That means the facility for the Asset could be different from the Event--is that correct? If not, then FacilityID probably comes out of tblEvent.
4. Possibly--Calculated values. You don't store values you can determine from other data. Often Status is calculable, I'm not sure about your data, so answer this: For an event, you know when its been opened, you know if its been assigned, you know if its been closed--with all that information can you logically deduce its status without actually knowing which status has been assigned to [EventStatusID]? If so, you don't need to store the Status, you just deduce it.