My brain hurts...Okay, that's partially true.
Here's the real deal.
Since Gen III, shininess is figured out like this:
Let S be the result of:
S = (hiword(personality value) xor loword(personality value) xor OTID xor OT secret ID) >> 3
Like that, you get a result between 0 and 8191, with all values being equally likely. If S = 0, the Pokemon is shiny.
As you can see, stats are unaffected by shininess.
But, here's what happens with Gen II:
In Gen II, shininess is determined by having a DV value that, in binary, looks like xx1x101010101010 (the x's can be anything). That also gives a 1 in 8192 chance. However, DVs ARE a factor in stats.
A shiny Pokemon can only have a DV total of 32, 36, 40, 41, 44, 45, 49 or 53. That gives an average levelup stat bonus of 0.85/level, with a standard deviation of 0.1269/level.
On the other hand, if you consider all possible values, DV totals range between 0 and 75 (1 and 74 being the only impossible values), having an average levelup stat bonus of 0.75/level with a standard deviation of 0.2133/level.
As you can see, shinies in Gen II have slightly greater stats in average, but less variance (and thus lower potential maximum).