Hello,
I calculated together as
StringReplace[ToString[h["ANOVATablePValues"], TraditionalForm],
"{" ~~ x___ ~~ "}" -> x]
It showed the error as:

When I calculated separately, it was correct as:
ToString[h["ANOVATablePValues"], TraditionalForm]
StringReplace["\!\(\*FormBox[\({1.2943642097764646`*^-9}\),
TraditionalForm]\)", "{" ~~ x___ ~~ "}" -> x]
The results were:
{1.29436*10^-9}
and
1.29436*10^-9
Why convert to a string to remove the {}? Why not
h["ANOVATablePValues"] // First
But why was the previous one wrong?
Because they are not the same. Compare
ToString[h["ANOVATablePValues"], TraditionalForm] // FullForm
with what you used with StringReplace where it “worked”.
But when I copied the result of ToString[h["ANOVATablePValues"], TraditionalForm], it is "\!\(\*FormBox[\({1.0440125915074059*^-41}),
TraditionalForm])"` that can be evaluated by StringReplace function correctly.