This bug is difficult to reproduce, and seems to only occur randomly. The last time I saw it often was in 1.3.2, and I've only used my mod since then. Therefore, without playing vanilla for a few days I can't be sure that the situation has improved.
However, There is a very similar bug in 1.4.2 vanilla that is easily reproducible and likely related.
Symptoms: In SSP, placing a sign, writing on it, and closing the editor results in the sign's text flickering. Sometimes, the sign's text will "stick" during the flicker and stay blank.
Cause: Packet130UpdateSign packets sent within a SSP game from the "server", and specifically a class called "PlayerInstance" (or ic.class in 1.4.2), after editing a sign are sometimes blank.
A Solution: In the Packet130UpdateSign constructor, ignore (set x, y, and z to infinity) any packets that are constructed by classes ending in "PlayerInstance" or "ic" as determined by a stack trace.
I am sincerely impressed with how quickly this was fixed. Someday soon I shall have a fitting home for my lovely cyan trousers.
That is a separate bug, though still annoying. This bug exists in vanilla, both single and multiplayer.
Having made a mod that fixes the problem (it plays music on signs), I'll note that the issue is present in single player 1.3.2 as well (maybe worse).
Signs' texts are always sent to the client as one would expect, but other blank sign texts are sent as well (randomly?). My workaround is (basically) to only accept packets that specify non-blank text, and ignore blank texts sent in close sequence. I have used this workaround for months and never seen the bug again.
This bug has been resolved: thanks Mojang! Keep up the whack-a-bug!