I do think that Percy's flaw isn't so much his unfailing loyalty, but the ease in which he gives it out—and that he spreads it over too many individuals. To use a Harry Potter reference ... he's got a 'saving people thing'.
'To save a friend you would sacrifice the world'—very true, but the real problem here is that Athena highlights that to save something you have to sacrifice something else, and what happens when it conflicts? What happens when the choice is between two people your personal loyalty dictates you should save? Percy would sacrifice himself every time but he’s never had to made a choice where he leaves it up to the other person.
She is closer to the point when she starts grilling him about his intentions to Annabeth, and her threat about should his loyalties ever change … that’s really on the money, because if two loyalties conflict, he’s going to choose the one where he can be a hero.
Case in point—in SoN, his loyalty to Frank and Hazel—his new friends—conflicts with his loyalty to Annabeth, Tyson and Grover (to stay put and wait for them). But he has to save people. So although he would never betray Annabeth, since the choice to go with Frank and Hazel doesn’t hurt her (physically), he puts himself in the line of fire. He basically doesn’t realise that it will hurt people to lose him. (Probably thanks to his inferiority complex—he just doesn’t see himself as that important.)
Between HoO and ToA is when Percy starts to get it. By ToA, he finally manages to say no to Apollo. He knows how important he is to Annabeth, to his family and sister. And I think that is a great example of character growth in a main character across two series'!