Você pode querer armazenar o conteúdo da imagem diretamente em seu banco de dados.
Como você disse, você precisa analisar o tipo de conteúdo do nome do arquivo. Você também pode adicionar um campo ao seu banco de dados que contém a extensão.
$extension = end(explode('.', $row['file']));
Então você tem que criar um array que contém o tipo de conteúdo do cabeçalho:
$types['jpg'] = 'image/jpeg';
$types['png'] = 'image/png';
então envie o cabeçalho (você vai querer verificar se os tipos array contém a extensão key e erro se não tiver)
header('Content-Type: ' . $types[$extension]);
Em seguida, carregue sua imagem com
echo file_get_contents($image);
Isso deve resolver. Observe que você realmente precisa verificar se o parâmetro ImageID é um número inteiro, por motivos de segurança:
if(!ctype_digit($_GET['ImageID'])) // error