У меня никогда не было проблем с обслуживанием динамических изображений со странным расширением или вообще без него. Querystrings также хорошо.
Достаточно, чтобы заголовки были правильными и бинарный файл был правильно сформирован. Когда вы сделаете это, убедитесь, что вы также установили для Content-Disposition разумное имя файла, чтобы люди не пытались загружать ваши файлы с ненормальными именами строк запросов. (Какие пользователи Windows не смогут сохранить, так как они, скорее всего, будут иметь «?» В них.)