I'd argue the function is too restrictive. About the only thing that can be said about GUIDs is they are 128 bit hex strings. Formatting of a GUID is not always enforced.
Personally, I would use a regex more along the lines of
^\{?\w{8}-?\w{4}-?\w{4}-?\w{4}-?\w{12}\}?$
Even then, some common forms of GUIDs would still return false:
(CA761232-ED42-11CE-BACD-00AA0057B223)
{0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}
I've never seen the one top one in use, but I've used the bottom one plenty of times before as it also turns out to be a valid C statement.
The difficult thing is there is no standard to interpret. I'd recommend adding a VI to create a GUID, and then have Is a GUID.vi follow whatever format is used in the create function, while also being able to interpret whatever format(s) LabVIEW might present.