I don't really think it's necessary to say what time the food will be served, but instead just give an expected arrival time.
When I host a meal, I always invite people for about an hour or so before the meal will be served. That gives everyone time to arrive, socialize a bit, and maybe have a cocktail. So in this case I would have probably just asked everyone to arrive by 12:30. If the food is ready at 1, you can serve right away or wait 15 more minutes if people are having a good time. If the food isn't ready till 2, the social hour stretches a bit but that's certainly forgivable.
In the case of your sister getting tired quickly, I'd probably just give her the heads up separately that the food might be served anywhere between 1 and 2 so she can plan appropriately.
I really think that this is a "know your audience" kind of thing. You mentioned, "I adore my inlaws and have learned over the last 25 years to "deal" with the issue of their arrival on time" so you know that they tend to be late, right? So yeah, never let them bring appetizers, and give them a specific time to arrive that builds in the anticipation that they will be late or come at the last minute.
But to answer your original question, I would have arrived at about 12:15.