TL;DR
Pull request follows. :)
MITKConfig uses module mode to find DCMTK. So that the module finds DCMTK, the DCMTK_DIR variable has to be set to the root of the DCMTK install directory. However, at other places config mode is used, and config mode overwrites DCMTK_DIR to point it to the directory that contains DCMTKConfig.cmake (.../share/dcmtk).
As a workaround, MITKConfig.cmake uses a helper variable, '_dcmtk_dir_original' that is supposed to point to the DCMTK root directory, and sets DCMTK_DIR to this value before using the module mode.
_dcmtk_dir_original is propagated with the value of DCMTK_DIR when MITK is configured. This results in the awkward situation that when we first build MITK, everything is fine, MITKConfig.cmake has the correct DCMTK_DIR. However, when we reconfigure MITK again, the value changes to .../share/dcmtk, and the configuration of our external application fails.
You guys probably did not encounter this problem because DCMTK is installed in the EP install folder, and this is handled as a special case in MITKConfig.cmake. We, however, build DCMTK somewhere else.
So, the workaround is to use another variable to restore the DCMTK root folder, not DCMTK_DIR because that gets overwritten, and messes up everything.