Bear with me.
I've been using Darktable for a while now along with Olympus' own software and digikam for uploading, keywording etc and GIMP for any retouching I can't easily achieve in Darktable. I use Olympus Viewer to add a caption which is placed in the User Comment metadata section, digikam reads this and places it in its database caption and creates a local XMP file with this caption in. I think Darktable reads this and when a file is exported the caption is added to the metadata in the Description section (by the way Olympus place "OLYMPUS DIGITAL IMAGE" in this field). This is picked up by flickr so is quite handy.
The thing is I recently altered the User Comment on my RAW's from a day out after I had processed but not exported them with Darktable. Digikam can be made to re-read the the metadata but I couldn't find a way to force Darktable to do this. I tried removing them from the collection and then re-scanning the directory but the captions didn't update. I didn't want to delete the XMP's and start all my processing again. In the end I used digikam to alter the metadata in the jpg's I had exported.
Really sorry for the long winded post, but I wondered if anyone had any insights.
Edit after further reading on darktable.org:
In addition to the sidecar files, darktable keeps all image-related data in its database for fast access. An image can only be viewed and edited from within darktable if its data is loaded in that database. This automatically happens when you first import an image or at any later time by re-importing it (see Section 2.3.1, “Import”). In the latter case the database gets updated with data that darktable finds in the sidecar files belonging to that image.
Once an image has been imported into darktable the database entries take precedence over the XMP file. Subsequent changes to the XMP file by any other software are not visible to darktable – any changes get overwritten the next time darktable synchronizes the file. This behavior can be changed in the preferences dialog (see Section 8.2, “Core options”). On request darktable looks for updated XMP files at startup and offers a choice whether to update the database or overwrite the XMP file.
look for updated xmp files on startup
Check file modification times of all XMP files on startup to find out if any got updated in the meantime by some other software. If updated XMP files are found a menu opens for the user to decide which of the XMP files to be reloaded – replacing darktable's database entries by the XMP file contents – and which of the XMP files to be overwritten by darktable's database. Activating this option also causes darktable to check for text sidecar files that have been added after import time – see option “overlay txt sidecar over zoomed images” in Section 8.1, “GUI options” (default off).
Looks like as long as I set the database to update I should be OK, but this doesn't seem to be happening.