Hi
"How do I lock the captions to the video?"
Subtitles are located (as far as I know) by time along the sequence. I don't think you can lock them to a particular clip (as they may extend in fact over several clips) or move them along as a group. Subtitles as such are generally added after editing is complete and can be saved as an independant SSA file. .Adding further clips, as you have seen mucks the positioning up. Perhaps NCH will comment.
If you know the duration of the inserted clip (and its position,) you could go through every subtitle position and add on the value to the boxes under the Subtitle tab. to reposition each entry.....
not recommended.
"Should I be captioning via some mechanism other than "subtitles"?"
When I have used text subtitles (and I have used them quite a bit) I find it best to place them in position as Text.
i.e. use the Add Text tab which allows text to added as an image to the overlay track (Video Track 2).
This way using the text controls, you can add your text and position it within the frame, and scroll it if required, You can use any font and set it any size. You can have more than one line of text, even lines in different colours if multiple overlays are used. As image clips you can use effects with them..like fade in/out.
The duration of any of the text images can be altered to fit the visuals as they are independant of the clips on the main track and, as they are placed on the overlay track, in the event that you displace the main sequence line by adding or inserting further clips, you can select the text images as a group and move them all together to their new location without altering their relative spacings. Consequently they will remain in synch once realigned.
I think Borate's suggestion is worth trying but I fear may not work as it is still the time values along with the text data which are saved in the SSA file.
Nat