I did this with managed code. When you click on a button, the code sets the
row's timerrunning field to true, and sets the rows timerstarttime to the
current time.
Clicking the row again does a datediff on the start time and the current
time to set the row to the elapsed.
I'll see if I can post an example.
NOTE: There are some tricks to working with time in infopath, as it has to
be in the format yyyy-mm-ddThh:mm:ss.