Two options you can evaluate:
1) If you are using FileMaker 11, use the relationship that just matches by ID, but then use a portal to display the related data with a portal filter expresssion: Agents::ToDOMatch = Steps::ToDOFlag
2) Use a script that updates ToDoFlag everytime a field referenced in the calculation (Such as the start and end times in Sessions) is edited. The OnObjectSave Script trigger can be set on each such field to perform a script to do this update. This then changes ToDoFlag into a stored, indexed number flag that will work with your relationship.
Keep in mind that 1) works well for displaying data, but 2) is sometimes necessary in order for certain calculations to work.
Thanks. I had thought of 2 after sleeping on it, and it is workable, but 1 may be a better option for what I'm trying to do (and there will likely be no reliant calculations). But I'm using 10.0v3 (I thought I had that in my note, but it must have gotten lost in all my copy/pasted html iterations). This feature may warrant an upgrade though. Thanks again for your quick and knowledgeable response.