I know you said you changed the fuel/water separator, but I wonder if there is still a partial blockage somewhere. On a neighbors 2210, I once troubleshot a similar issue (died after ~10 minutes). The issue was a bit of debris stuck in the fuelcock. I had to use a dental pick to reach up in there and get it out. This theory would only hold is the inflow rate was ever so slightly less than the outflow such that the fuel ran out. A couple of questions/tests to help pinpoint:
Before mowing, confirm your radiator fluid levels are good and note the overflow level if any. Also note the fuel level in the fuel filter glass.
1) If you are quick enough, check the fuel level in the filter immediately when it dies to see if it is low?
2) If the 45 minutes is predictable, check the fuel level at 30-45 minute mark to see if the fuel level in the filter is getting lower?
3) If the 45 minutes is predictable, either kill the mower blades and/or back off the rpm by ~10% and see if the duration changes noticably?
4) When it dies, is your overheat indicator on, also double check the radiator fluid overflow to get an idea of just how hot the engine really is? Your response above wasn't clear whether the overheat icon always came on when the condition occurs or whether is an independent observation.
5) When you say it takes 10 minutes then you can restart, does it transitions directly from no start to starting, or does it transition through sputtering, hard starting, then running?
6) Does it seem to matter the outside temperature, length of grass you are mowering, etc?
7) Lastly, did this seem to develop, or simply start happening one day?
Couple thoughts (probably not nothing new to you). The overheating doesn't sound normal. I agree the JD2305 collects debris in the radiator like a magnet, but even when I clog it pretty good, it is very, very seldom it overheats to the point of indicator light and even less to shutting down. The only times I really can remember this happening is when mulching tons of deep leaves on a really hot day for extended length of time. All of these times, the inner screen is 100% coated. I guess there could be a temp sensor going wacky. This is why I would like to know what the radiator overflow is doing because it should be about to bust when the indicator light is on.
BTW - If you are stopping to blow the screens periodically, make sure you keep the tractor idling and/or only shut it off as little as possible. The engine temp actually jumps significantly if you quickly kill a hot engine.
Based upon the answers above, we should be able to narrow it down a bit.
/ADin