Currently, I have this same issue. I have replaced the controller with a new unit, pulled and cleaned the orifice & burner tube, replaced the pilot and thermocouple unit, tightened & retightened the thermocouple sensor, cleaned the flue, I even rebuilt a very corroded exhaust baffle; all to no avail.
The first time I light it, it stays on the longest. Subsequent firings last much shorter, leading me to believe it has something to do with the water temperature & pressure. Aside from that I am baffled. Any advise would be appreciated.