I found this on the DMB website, which, I think explains rather nicely why we sometimes see players significantly off their real life stats:
3 If a player isn't doing as well as he did in real life, does the game improve his ratings so he'll make up ground in the rest of the season?
Diamond Mind Baseball does not adjust ratings to force the stats to come out right, and that's for several very good reasons.
First, and most important, forcing the stats to come out would create real problems late in the year. Suppose a .280 hitter enters the last 20% of the season batting only .250 (for whatever reason). We'd have to make him a .400 hitter the rest of the way to get his average up to .280. If you knew this (and it wouldn't take you very long to figure this out), you could start giving extra playing time to the guys who you knew were going to get a late-season boost. And you'd start to sit the guys who were ahead of their pace.
This, admittedly, is a bit of an extreme example, because you might hope that the player never deviated as much as 30 points from his real-life average in the first place. But it wouldn't be realistic if this never happened. There are lots of guys who bat .350 for the first month of the year and gradually fade to .280 by the end of the season. And there are plenty of guys who raise their average by 20-30 points late in the year.
Second, what stats should we force things to? If you're playing a draft league, chances are your players are in different ballparks, facing a different mix of opponents, possibly playing under a different era, and possibly facing a much higher concentration of talent. When you change the context like this, the stats should change. It wouldn't be realistic to keep them the same.
Third, if we forced the stats to come out right, there wouldn't be any surprises. Replays using real rosters would always yield the same results, so there'd be no point in doing them. Draft-league seasons would be almost totally decided after the draft was run. There would be almost no opportunities for you to get a few wins out of your team through superior managerial skill, since the "forcing" logic would be pushing the results toward the real-life total.
Finally, uncertainty about future performance is a significant part of the managerial experience. Real-life managers know that a certain player is most likely to hit .280 with 20-25 HR and a decent on-base percentage, because that's what he's done in the past. But the manager doesn't know whether he's going to get a career year, a normal year, or a bad year out of the guy. And he doesn't know whether the guy is about to get hot or go into a slump at any given point in the season. If we forced the stats toward the real-life totals, your managerial experience would be much different, and much easier, than that of a real manager.
We could design the game so that every player came out within one or two in every statistical category. But if we allow streaks and slumps during the season, we open ourselves up to the late-season distortions we described above. And if we keep the stats in line during the year to avoid late-season distortions, we eliminate the streaks and slumps that are so common in real baseball. The laws of probability are enough to make most of the stats come out very close for most of the players, and we think it's a much better game this way.
Now, that said, Edwin seems to be off all the time, but it's hard to say because over more sims, maybe he will far exceed his numbers - we wont really know because we only sim 3 times per actual season.
Also of note: I personally have been the fantasy owner of 1) Daryl Kile, 2) Corey Lidle, 3) Oscar Taveras 4) Jose Fernandez during the year they were, shall we say, no longer of any use to my team.
So, it could just be me.