Give the gift of Drupal. All merchandise is 50% off through 2016.
The imagecache_create_url() function calls url() setting $query to FALSE rather than to NULL, this is causing url() to add a trailing '?' in URLs when $bypass_browser_cache = FALSE (default).
Attached patch corrects this.
Note: patch taken from imagecache.module file, since I did this change in SVN of one of my projects in a rush.