On http://mathematica.stackexchange.com/questions/2788/hat-not-big-enough
I found this:
OverHat /: MakeBoxes[OverHat[a_], form_] :=
With[{s = First[Rasterize[a, "RasterSize"]], ab = MakeBoxes[a]},
With[{sl = N[2 Log[2 s]]},
InterpretationBox[
OverscriptBox[ab,
TagBox[GraphicsBox[LineBox[{{-s, 0}, {0, sl}, {s, 0}}],
ImageSize -> {s, Automatic}], "LongOverHat",
Selectable -> False]], OverHat[a]]]]
If you then type
OverHat[ABCD]
it gives:
Cheers,
Marco