I have tested this on separate distros, including but not limited to:
ArchLinux, Debian (and Debian-based distros), Slackware, Fedora,
VectorLinux and openSUSE (some others I can't recall ATM), all with
and without separate /boot partitions and all with GRUB 1.99
installed.. Actually, my demo theme is located in /usr/share/grub
and not in /boot/grub. As it is, the fully qualified filename works
as intended. Placing the themes in /usr/share/grub removes the
incompatibility of having a separate /boot partition and also removes
any incompatibility from some distro that use /boot/grub2 instead of
/boot/grub.
If the unreliability is because of separate /boot partitions and/or
other distros using /boot/grub2 instead of /boot/grub then please
consider placing themes in /usr/share/grub instead of /boot/grub.
This removes the unreliability and ensures the theme will display
properly across all distros and all partitioning schemes.
I don't think users should place files in /boot/grub. Files there
should only be those necessary for the bootloader to function
properly. Although it's a protected directory, it's all to easy for
'inexperienced' users to simply 'su' and delete critical files
(unintentionally while working on themes) thus preventing their
system from booting.
Please keep this feature and consider placing themes in
/usr/share/grub.