I stand by what I said before - potentials should represent the ability of the race to train a particular stat, and then classes should come pre-trained to certain levels in those stats. So a Trollish Beastfighter and a Trollish Wizard should have nearly identical potential Toughness, but the Trollish Beastfighter should be much closer to their maximum. On the other hand, a Trollish Wizard should have a much lower potential Learning than a High Elf Wizard.
Some variation due to class should certainly occur - a Trollish Wizard should have lower potential Toughness than a Trollish Beastfighter. So this is what I think should happen:
1. Race determines the base potential. Call this P0.
2. Random factor alters the base potential (representing genetic variation within a race). Let this factor be K, where 0.8<K<1.2.
3. Class adjusts potential from the altered base potential by multiplier C. So, for instance, a Wizard would have a multiplier of, say, 1.1 for Learning, but 0.8 for Strength. This determines the PC's starting potentials.
4. Starting stats would then be adjusted based on class, with classes naturally starting closer to potential max if it's an important to the class. For instance, a Wizard would start at 90% of potential for Learning, but 50% of potential for Strength. A Beastfighter would probably be the other way around.
5. Random variation (not multiplier) would then be applied to both stats and potentials, and then the opening question system would adjust both stats and potentials.
So for instance, consider a dwarvish wizard. The game would start with P0 at, say, 18 for Learning and 25 for Toughness (just chosen at semi-random, may not actually represent the usual biases for dwarves). The random factor, K, would then be chosen for each - say, 0.98 for Learning and 1.13 for Toughness. Being a wizard, Learning would be scaled by 1.1 and Toughness by, say, 0.75. From these, we can calculate the potentials. Learning is 18*0.98*1.1 = 19.4, which is rounded to 19. Toughness is 25*1.13*0.75 = 21.2, which is rounded to 21. So our dwarvish wizard's potentials would start at Le 19 and To 21.
Then the game would alter the stats themselves based on class. A wizard would be highly trained in Learning, so I'd expect Learning to be at about 90-95% of maximum. Let's call it 92%. Always rounded down for this calculation. So the starting Learning would be 17. A wizard's toughness would be low, so let's say 55%. So the starting Toughness would be 11. These numbers represent the fact that our dwarvish wizard is already highly trained in Learning, and thus is nearly at their potential max already, while they haven't been exposed to things that would toughen them up, so they have a lot more room to improve in Toughness.
Finally, some random variation would be applied, say up to 2 in either direction. This random variation might move Learning down 1 and Toughness up 2. So our Dwarvish Wizard, prior to the question system, would have Le 16 and pot Le 18, To 13 and pot To 23.
If we switched out the Wizard with a Beastfighter, with To and Le modifiers switched around, and keep the other modifications the same, then this is how it works out: Start at 18 and 25. Random factor still 0.98 and 1.13. Beastfighter scaling would be 0.75 for Learning and 1.1 for Toughness. So dwarvish beastfighter's potentials would start at Le 13 and To 31. Class modification for actual stats would use 55% for Le and 92% for To, so the starting Learning would be 7 and starting Toughness would be 28. Then we shift Le down 1 and To up 2, to give Le 6 and pot Le 12, To 30 and pot To 33.
Anyway, that's what I think should be done about all of the stats and potentials. With careful choice of values, we should be able to get some nice variations.