MMULT will only return multiple values if it's array-entered into multiple
cells, AFAIK. But it will be returning an array, not a range. Excel will
select the correct item from the array for the particular instance of the
formula that is in the respective cell.
From what I can see (I've not written any myself), functions that work with
array-entry are fairly specialised beasts.
I'm sure there's lots of tutorial information out there on the Internet, but
this reference www.cpearson.com/excel/WritingFunctionsInVBA.aspx
covers array entered functions in what looks like a nice manner. Give it a
read.