It doesn't say that it couldn't OPEN the dictionary, it couldn't LOAD the dictionary. That means that the load function returned FALSE. If If you examine the code in speller.c that calls load(), you can see that this isit means that the caseload function returned FALSE.
That's a problem with code in the load function, not in finding the dictionary file. You'll need to go back and debug the function.
If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)