Sounds cool. You should give the undo checkout a try without bothering with the timer code, so that you have a proof of concept in place -- add a button on your form that will call the undo checkout query connection, check out and open a copy, have another user try to open your checked out form... then run undo checkout and have the other user try again.
If it works manually, then you can add your timer code... and post back after you've tried it, 'cause I'd love to know how it works out for you.
MSDN for the method makes it appear that this will work well in InfoPath -- the method takes a single string param.