In the English version, there's a function at x104AB0 that manages the pokedex flags. Given an species in r0 and a value in r1, the function either checks or sets a caught or seen flag. The function begins with 0C 20 96 E2 30 31 00 03 0A 4A 91 8D 80 20 40 00, and exists in Japanese Fire Red- I suspect it also exists in the French version. If it does, all of the adjustments made towards fixing the flags will be done here- everything else is just limiters.
The solution I used was to apply JPAN's save block hack, which frees up the help menu RAM and writes it to the save- thus I repointed the Caught/Seen flags to that area. The hack in question is here:
http://www.pokecommunity.com/showpost.php?p=6993092&postcount=206. It would probably be a hassle to port to a French ROM however, due to differences in both the ROM, RAM, and quite possibly save structure- I have an alternative solution in mind though.
For whatever reason, the game keeps three sets of Seen flags, which you'll be able to find by looking through the function I mentioned. Provided you do not need more than 784 dex entires, you might be able to repurpose two of these sets to function as the Seen and Caught flags for the new mons.