I'm getting a message "config modified" in MP games. What does this mean?

I won't waste your time with my explanations of this, when BIS' lead programmer, Ondrej Spanel, said it best:

There is currently much discussion about modifications of file CONFIG.BIN (or its text equivalent, file CONFIG.CPP). Let me explain why we implemented the "config modified" message.

When modifying file CONFIG.BIN, you can control many aspects of the game. Some are very important, like reload times or other weapon, ammunition or vehicle parameters. Some not that important, like weapon sounds or other "minor" things.

We considered a lot what parts of OFP's configuration should be protected against cheating, and after some thinking and experimentation we decided that modifying almost any field in file CONFIG.BIN can be used to attain some advantage over other players.

Let me consider two favorite CONFIG.BIN modification types that seem innocent: sound replacement packs and face set replacements:

Sound replacement packs

Most sound replacement addon packs currently available (such as Satchel's Dynamic Range and others) replace original in-game sounds with new sounds that are considered more realistic or simply considered better by its creator. The exact same technique can be used for cheating. Consider what would happen by replacing the very quite HK MP5's sound (or the sound of enemy soldier's footsteps) with some more distinct and very loud sound. This would give the online player who has made such modifications quite a big advantage, as enemy would be more readily detected by that player.

Face set replacements

Most face set replacements replace original faces with some cammo type or special operations faces. However, the very same technique could be used for cheating. Imagine replacing all faces with a bright yellow face. This would make spotting the enemy on the computer with such modifications much easier.

In conclusion, while the message about a modified CONFIG.BIN file does not necessarily mean a given player is cheating, it tells you that  it is impossible to guarantee that the player is not cheating, as identical techniques can be used for non-cheating and cheating CONFIG.BIN modifications. When seeing this message, it is your decision whether to believe the player when he tells you he is not cheating.

If you are using some CONFIG.BIN modification that is causing this message, you should therefore understand why some people and server hosts may be unwilling to play with you. They see that you are using a modified CONFIG.BIN file and
they have no way of knowing if the modification gives you an advantage or not. If they want to stay on the safe side, they will often kick you or even ban you from the server. Seeing the number of people that actually use CONFIG.BIN file modifications to cheat, you can hardly blame them. 

--------------
Ondrej Spanel, Lead Programmer

Now you might gripe that you never modified your CONFIG.BIN file nor have you installed anything else that has. Once again, Ondrej Spanel has prepared a reply to the player community on this issue too:

Is the "config modified" message reliable?

The answer is not easy. It was not reliable before 1.45, as addons installed into the ADDONS folder were able to modify some protected CONFIG.BIN entries. We fixed this and we are convinced this is no longer possible in 1.45. Unless you have modified your CONFIG.BIN file, you should not see this message, no matter what unofficial addons you have installed in your ADDONS folder.

Why not automatically disconnect players with modified CONFIG.BIN files?

As I wrote above, we were not sure in the previous version if our verification of CONFIG.BIN file modifications was reliable and we did not want to kick any player using any addons unless they really modified file CONFIG.BIN.

We think that the detection is working right since 1.45, but we want to wait a little to be sure. Once we will see this really works well, we will implement a server side option that can automatically disconnect players using CONFIG.BIN modification. Remember: this will be a server side option and the server administrator will be able to decide if this feature should be enabled or not. 

--------------
Ondrej Spanel, Lead Programmer