In IMatch I click on the file and then a check the box in the keyword panel and hit ctrl+S to make sure it saves. I then see the keyword show up in the top section of the keyword panel. When I checked the exif output I can see the keywords being processed and when I go back to the file the keywords are there, displayed, again, on the top section of the keyword panel, which signify they exist and are attached to the file, but the keywords are not showing in the @keywords category.
Just in case: If you are not familiar with versioning, use a small test database with a copy of a small number of files when you try to figure out things like versioning and propagation. Because propagation changes (oder might change) metadata in your files, I would never work with my "productiion" files to try things out. (Maybe you do this already, then please ignore my post )
The Thesaurus is an universal text store than can store contents for all metadata tags, including keywords. You can import your keywords from the database into the Thesaurus if you have to.
@Keywords automatically reflects the keywords in your files.
The idea is to a) setup / import a controlled vocabulary into the thesaurus and b) then change it rarely and c) use it to assign keywords in the Keywords Panel. A controlled vocabulary changes only very occasionally. Else it would be not a good controlled vocabulary.
You can configure the Keywords Panel to automatically add new keywords to the Thesaurus, if you want that. Rule b) should be applied, though. You can also add selected keywords to the Thesaurus in the Keywords Panel, which gives you more control over what you let into your thesaurus. Read the Keywords Panel help topic for all details.