A protective coating could help but it might make it worse... I the paint failing to the previous coat or is it going down to the wood? If you painted over a finish that was not sound in the first place often that new layer will cause the previous layers to fail. Causes for paint to not stick are, moisture, low quality material, surface was dirty or dusty, surface was glossy. Your best bet would be to remove all failing material (potentially striping to raw wood) and use a quality enamel that is designed for floors, such as Sikkens Rubbol, I like the Oil Rubbol but here in Portland Oregon they are not selling it any more and it is being replaced with the water based version. I have we have used it on several project this summer, but will have to wait and see how it performs.