Maybe I am seeing this wrong but as I read through the last part I think you need a little help learning how to do a few things that some of us take for granted since we have been this so long, if I'm wrong about that I do apologize. Hopefully this helps some.
"I can't do automations on duration fields.
I tried building a formula field to copy the duration field's value, but this is not allowed."
You can actually use a numeric formula field to copy the duration value, you just need to convert the field using commands like todays(), tohours() or tominutes(). That field could then be used in Automations.
"I can't do these operations on the data entry form because I'm maxed out on derived fields."
Even if the duration is not showing on the form you can do a Dynamic Form Rule that when the record is saved and duration is <= 0 and have the action of the rule put a popup box reminding the user to change the fields. Now that would only work if the users can change the field.
"When I try to do a QuickBase action instead of automation, the option for modifying a record is greyed out no matter what I do/do not enter into the action's fields."
In Actions report links are used. If you create a report link field that Matches the value of Record ID# to the Record ID# of the same table then you can get the Actions to make changes on the records.
"I tried to build a report and highlight the out-of-range values on it, but you can't highlight based on formula fields."
if you convert the duration to a number you can choose the formula option for highlighting and make something simple like If([Total Time on Site]>4,"yellow","") My field is already a duration converted to numeric.
------------------------------
Jason Johnson
------------------------------