In some of the IDL I work with I have noticed that there are 2 conventions for marking return values in methods - [in, out] and [out, retval].
[in, out]
[out, retval]
Another difference is how this will show up in a PIA in .NET code.
[out, ret] will show up as a return value in .NET.
[out] will show up an argument on the method in .NET.