LCIDs don't solve all cases. There are some strange overlaps and seperations in their assignments. In addition custom locales all have the same langid, sublangid, etc. so LCIDs and their derived parts are pretty useless for describing locales accurately. en-FJ, fj-FJ and klingon would all have the same LCID/langid/sublangid.
Use locale names (en-US, etc) instead!.