Update:
I decided to try a different approach, since software motion detection options haven't been fruitful. The Foscam cameras I'm using can do their own motion detection, and though it's crude (can't mask off high-activity areas, really sensitive to shadows / changes in sunlight, etc.) it's better than nothing. They can send an email and/or upload still images to FTP when motion is detected, so I decided to try writing a script to parse the emails to get the start/end times for each motion detection event, then I calculate time offsets within the hourly video files based on those timestamps.
Unfortunately, I hit a snag there, too. The frame rates on the AVI files produced by my NAS's surveillance software are completely wacky. If I set the recording FPS to 15, the video files produced end up showing up as 8.0 FPS in mediainfo and mplayer. If I set the FPS to 5, they end up showing as 4.00 FPS. The playback time for a supposedly hour-long video ends up around 70 minutes (but varies), which makes mapping timestamps of the motion-cap emails to timestamp offets in the hourly video files nearly impossible.
Then a third, and probably much better solution hit me. Let the NAS do only the motion-detection events (since it has much better motion detect functionality built in) and use ffmpeg to record the hourly continuous recordings. It's a bit more manual (need to set up a cron job on the NAS, don't see the hourly recordings in the NAS's surveillance station UI) and it'll suck up more resources on the cameras (since during motion capture they'll be serving two streams, one for the motion capture recording and one for the continuous recording) but I don't expect those to be big problems. The continuous recordings are really just there if the motion detect misses something, so I can probably do those at a relatively low FPS to keep things lightweight.
As usual, I arrive at the right solution after exhausting every other possible alternative.