Well, the first thing you have to realize is the your 27 Cy is a pure HR hitter. More specifically, with him, its generally all or nothing proposition as he won't hit for average, nor doubles or triples. But aside from maybe a little bad luck or other various factors that may be effecting his hitting, the park he's playing in is not conducive to his strengths in that the Polo Grounds promotes doubles, which Cy hardly hits, and suppresses batting average and HRs to a degree. While I would expect his numbers to be somewhat better than that which you described, but the Polo Grounds isn't doing him any favors. Although his numbers are very likely to get better if you keep him, he probably won't be the force that you may have had in mind when drafting him. Your guy would be better served and much more valuble by playing in parks such as Coors, Wrigley, and Atlanta Fulton County Stadium where they will not only increase his average, but his HRs as well.
As for a justifiable time to dump an underperforming player, I may not be the best person to offer a suggestion because I'm known to have a very quick ax when it comes to dumping guys. But to put it in a nutshell, you have to do what you feel is best after analyzing why the player may be performing so badly. Is he in a park which minimizes or takes away from his strengths? Is he facing an inordinate amount of good pitching (e.g., 08 Joss, 00 Pedro, or Maddux)? How important is a big HR bat in your lineup? Does his history suggest that he will perform better, etc.? After taking such things into consideration, you have to do what you feel is best for your team and not fall in love with a player's name, because the only thing that counts in this game are numbers, not names. And while there is no hard and fast rule as to when to dump a player, it seems that most guys will give a player at least half the season to get it going. Me, personally, my cutoff point is generally a lot sooner, and from the numbers you described, I probably would've dumped him already. Good luck.