Give the gift of Drupal. All merchandise is 50% off through 2016.
Drupal 6's menu handler stops doesn't parse characters after an ampersand in arguments. (Nor should it)
Therefore imagecache is unable to find the targeted file to cache when an incomplete path is passed to it as an argument to the menu callback. (If the file has a an ampersand in it's name).
The tranliteration module resolves this issue handsomely by removing characters like ampersands from file names before writing them to disk. This patch introduces a dependency on transliteration module. This fixes the bug in an elegant way.