The problem you are experiencing is definitely not between the keyboard and the chair. If the most popular brewing software package on the market does not compute apparent attenuation correctly, then there’s little doubt in my mind that one or more of the remaining calculations leave something to be desired.
The calculation that bothers me the most is extraction efficiency. There’s no way to know how efficient one’s brew house actually is without knowing the exact dry basis, fine grind (DBFG) or hot water extract (HWE) values for every malt used in one’s grist. One cannot use a static table of theoretical maximums and expect the result to be more than a ballpark figure. Furthermore, extraction efficiency as a percentage is of little practical use in a home brewing environment. The only advantage that an extraction efficiency percentage offers over batch extraction rate in points per pound per gallon (PPG) is that an extraction efficiency percentage is a little more fine grained. However, one pays a price for this increase in granularity; namely, extraction efficiency percentages are not directly useable when formulating recipes. The only reason why they have become popular is because brewing software makes it easy to computes this value.
Let me give you an example. If, over time, I determine that my average batch extraction rate is for the sake of simplicity 30 PPG, then all I need to do to determine how much grist I need per gallon of wort is to take the target gravity in points and divide by 30. It’s that simple. If I want to make a 1.060 beer, I know that I need to use two pounds of grist per gallon of finished wort (i.e., 60 / 30 = 2). One does not even need to resort to using paper and pencil for that calculation.
Another area where extraction rates in PPG blow efficiency percentages out of the water is adapting a recipe to one’s brew house. For example, SNPA has an O.G. of 1.053. If we keep the brew house extraction rate of 30 PPG, we need to use 53 / 30 = 1.77lbs of grist per gallon of finished wort. If we want to produce 6-gallons of finished wort, then our total grist weight will be 6 * 1.77 = ~10.6lbs. Professional brewers like to quote recipes as percentages; hence, we simply need to apply the percentages to the total grist. Let’s say that SNPA is 95% 2-Row/5% C60.
pounds_of_2row = 10.6 * 0.95 = ~10.1lbs
pounds_of_C60 = 10.6 * 0.05 = ~0.5lbs
I hope that forum members noticed that I never actually worked with a grist bill to derive this recipe. I merely started with an O.G., a brew house extraction rate, a desired post-boil volume, and the percentage breakdown of the grist. It’s all simple arithmetic.
Granted, there are more difficult calculations than the one I demonstrated above. However, there are rules of thumb that make determining these values fairly easy. For example, one rule of thumb is that if one is mashing in a non-preheated typical cooler setup with a hot liquor to grist ratio of 1.25:1 (1.25 quarts per pound), then a good strike temperature is 19 to 20 degrees Fahrenheit higher than the desired rest temperature. For those who are curious about how to calculate this value, I wrote a comprehensive post on how to calculate infusions in this thread: Raising gravity in all-grain batches - #11 by system - General Homebrew Discussion - American Homebrewers Association® Forum