Are there rules regarding the accuracy of a pilot's delay announcement?
No precise rules that come to mind offhand, but:


these days, the passengers often get text messages with delay info, and if I'm saying "3 hours" as the text comes in saying "30 minutes", that is not good
people who might wait out a 30 minute delay might decide to rebook or cancel their flight for a 3 hour delay
if there are passengers making connections to other flights at the destination, the difference to them between 30 minutes delay and 3 hours is immense, and they can get upset, call the airline reservations people, want off the aircraft to talk to customer service, etc
an actual delay of 3 hours is reason to deplane everybody, now (in most cases); for 30 minutes, not so much. That process &amp; subsequently re-boarding everyone takes time, and it's no fun for anybody.
play the "oh, wait, now the delay is xxxx" card too often, and you look like you don't know what you're doing.


My gameplan is to give the passengers the honest answer. Sometimes, this is along the lines of, "may be a quick fix, like 15 minutes, or it may be a lengthy delay, in the ballpark of 2-3 hours. We expect to know which situation we have in about 15 minutes or so, and we'll let you know when we get the word from Maintenance." I think people appreciate it when you give them the straight scoop, including the times when the crystal ball is cloudy.