The problem with the flag is a little bit different for me.
In Libre office or Thunderbird, the name of dictionaries are in my case fr.dic and fr.aff.
The name of the file flag used by SpellChecker is fr_FR.png.
Apparently the name of the dictionnary is used to build the name of the file flag (if I understand the code in StatusField.cpp, SpellCheckerStatusField::Update). So, it's not found.
But if I rename fr_FR.png in fr.png in C:\Program Files\CodeBlocks_wx313_64\share\CodeBlocks\SpellChecker\16x16 for me), the flag appears.
gd_on