I found this when someone uploaded the recent FR/LG TAS to Nicovideo:
http://no2.pic.bz/document/appear/encount-fl.html
It has information on FR/LG encounters (there are also pages on Ruby/Sapphire encounters and on Emerald encounters).
Translation:
Rate of encountering Pokemon for FR/LG
In FR/LG, 15 types of encounter number (01・02・03・04・05・06・07・08・09・0A・0E・14・15・19・3C) exist. It determines whether Pokemon is encountered or not, as described next.
A=(8-(encounter number/10))*256
B=1280
The following modifications:
- Black Flute -> 2x A, 0.5x B
- White Flute -> 0.5x A, 1.5x B
- Lead Pokemon holds Cleanse Tag -> 4/3x A, 2/3x B
- Lead Pokemon has Stench -> 2x A, 0.5x B
- Lead Pokemon has Illuminate -> 0.5x A, 2x B
Divide A and B by 256, and then, if X is less than A, and if random number from 0 to 99 is greater than or equal to B, then there is no encounter.
C=encounter number
- riding bike -> 0.8x C
C=(C*Y*16)/200)
- Black Flute -> 0.5x C
- White Flute -> 1.5x C
- Lead Pokemon holds Cleanse Tag -> 2/3x C
- Lead Pokemon has Stench -> 2x C, 0.5x B [*]
- Lead Pokemon has Illuminate -> 0.5x C, 2x B [**]
If C is greater than or equal to 1600, set C to 1600. If random number from 0 to 1599 is smaller than C, then there is encounter.
X: Number of steps taken with possibility of encounter.
Y: During calculation for A and B, if there is no encounter, add to the sum total the encounter number of the map. [?]
After encountering a Pokemon, or when changing map, X and Y reset to 0.
[*] I suppose this is an error; meant to say 0.5x C.
[**] I suppose this is an error; meant to say 2x C.
From what I gather, A and B represent the initial phase. A/256 represents the number of steps which determine encounter by the universal RNG (for 0x3C=60, this gives A/256=2, so 1 step) and B/256=5 represents 5% chance of encounter in this phase.
After this initial phase, C/1600 represents the chance of encounter. Here it uses the special encounter RNG that advances only by step. It is influenced by Y in the above formula. I don't know exactly how Y works though, but it may explain what mkdasher found (that a wild encounter may or may not occur for a RNG mod 1600 that is around 340-350). Note that if C=0x3C=60 and Y=70, then C*Y*16/200=336.