There are ways to pull off exact stats mathematically, but personally I think the game would be more fun if it was done organically, paying more attention to how the Mon should behave rather than how it does in the game. Keep in mind that DF's combat system is completely different from Pokémon's, so when you translate one system to the other the usefulness of any given Mon might not quite match up. (Apart from material strength, you also have to consider body size, configuration, body parts used in an attack, and the absence or presence of weak points.)
The issue becomes balance. The games had it pretty much figured out in terms of balance. And personally I don't trust my own ability to come up with 'organic' numbers that make sense. I think too much in relation to other pokemon, which would lead to "Oh I don't want this one to be stronger than this one so I guess this usually really good pokemon is getting nerf'd."
Body size and parts and all are very much so used in DF. That's one of those details we need to flesh out by hand of course.
Not going to quote you because it was a long post but, Roboson, I totally agree with you. I much prefer the first option.
I can do the scripting, give me a few minutes. I think I have the math stuff figured out anyways :p
Hold on, I can't install Python on this computer and I'm about to go out the door but, the math is essentially base stat / 255 (the max possible base stat), multiplied by each number in a 'maximum' range. For example this range could be 4400:4500:4600:4700:4800:4900:5000, personally I wouldnt go with that as there wouldn't be much variation at all but it works for this example.
So the stat equivalents to DF, I think, could be: Strength/Attack , Agility/Speed, Toughness/Defense , Endurance/HP , Recuperation/(Sp. A + Sp. D / 2) , Disease Resist/(Sp. A + Sp. D / 2). Note: the (Sp. A + Sp. D / 2) could be possibly replaced by 'special' in first gen. pokemon. Normally it's the same thing. I do wish we could give Sp. Attack it's own real usage honestly.
So really quickly lets just do that for Bulbasaur's Strength range. Base strength = 45. 45/255 = (0.1764705882352941).
4400*(0.1764705882352941):4500*(0.1764705882352941):4600*(0.1764705882352941):4700*(0.1764705882352941):4800*(0.1764705882352941):4900*(0.1764705882352941):5000*(0.1764705882352941)
That equals: 776:794:811:829:847:864:882. That takes forever to do in a calculator so, I wouldn't recommend doing it by hand. Also if we decide to go with this method we're going to need to go through and do it for all of them. And lastly, this is just for the phys att ranges. We also need gaits and such.