What do you mean by "safer"?
It means ... before I read your intro about why to use luaC_barrierback/luaC_barrierf, I think table type is the only container type that Lua programmer can operate with, so lua vm won't know how the table will be used by programer. And just using luaC_barrierback to make the parent object gray is better, as all values in the table will be re-traversed by gc again. But using luaC_barrierf, maybe, make something lost(won't be collected) in the gc cycle.
Well, as I don't think my opinion is right, I wrote this mail and ask :-) ...