I don't know the answer to your question. However, I do think the way to start figuring it out is with the matlab debugger.
After starting SPM, and after pressing "fMRI" or "PET" or whatever, but before pressing the "Estimate" button, type this at the matlab command line:
dbstop if error
Hopefully, when you try to estimate, the debugger will halt execution at the point the error occurs. That will allow you to look at the debugger window and see what line of code is the problem. You can then repost the question with more information.