I just set up the background image in grub using the attached image, which is a .jpg. You may want to check if the image you are using is actually a jpeg, and not something else.
Code:
# Next search for pictures the user put into /boot/grub/ and use the first one.
for background in *.jpg *.JPG *.jpeg *.JPEG *.png *.PNG *.tga *.TGA; do
if set_background_image "${background}"; then
exit 0
fi
according to /etc/grub.d/05_debian_theme the file types in the above snippet are valid