AFAIK 10g R2 is the first release to optimize deterministic functions by caching and reusing the results of previous calls to them with identical arguments. Therefore if this is 10g and the function is created DETERMINISTIC, it may not matter which construction you use.
Also, placing the function call in the inline view seems neater but the optimizer may choose to merge it, and the actual execution plan could end up with multiple copies of the expression.
Deterministic functions has been on Oracle since 8i and up, if not earlier.
DKG, did you created the function with the DETERMINISTIC hint on it ? I want to see some example how did you do it, if you can.
It is probable because of the returned data, which might or not be deterministic. If you want to avoid repetitive calls, make sure the function returns deterministic results and create a function index on it. That way it will probably never be called and the optimizer will know its results once you call it.