Хех, я еще немного поиграл, и ответ довольно глупый. Кажется, что Oracle неявно приведёт строку к GUID (как и ожидал бы обычный человек), но приведения учитывает регистр! Что имеет абсолютно нулевой смысл, если вы анализируете шестнадцатеричные числа, а регистр не относится к вашей базе. Причина, по которой это меня оттолкнуло, заключалась в том, что я использовал Aqua Data Studio, которая по какой-то причине отображает GUID в нижнем регистре.
Следующее из SQLPlus, который правильно обрабатывает вывод:
SQL> select * from Mike_Test;
ID
--------------------------------
VALUE
--------------------------------------------------------------------------------
4FBD50C370BC4A7F85E3DF034D120930
Blah
SQL> select * from Mike_Test WHERE ID='4fbd50c370bc4a7f85e3df034d120930';
no rows selected
SQL> select * from Mike_Test WHERE ID='4FBD50C370BC4A7F85E3DF034D120930';
ID
--------------------------------
VALUE
--------------------------------------------------------------------------------
4FBD50C370BC4A7F85E3DF034D120930
Blah
Оракул становится все глупее с каждым днем, клянусь.