Cool. I was trying all sorts of variants wondering if I had screwed up, knowing chaley never steers me wrong, heh. I've got a workaround of my own custom function as per my edited post above I did while you were posting a response in the meantime anyways.
One thing I noticed when I was trying the identifiers:isbn:xxx search. It seems to be doing a starts with match (if I drop a few digits off the ISBN I get multiple results). Is that intentional, I wouldn't have thought that would be particular useful for an "identifier" field? If it is intentional, how do I force an exact match?
EDIT: Never mind, realised it was just a normal search and just use :=