Dear zeOrb,
That is indeed a characteristic of how Blueprint nodes get created from function headers.
If you pass by non-const reference, it becomes an output, not an input
This is actually a big deal and hopefully Epic can address your use case to see what best solution is
I know that blueprint-friendly structs and break-struct is coming to UE4 soon so you probably just need to wait till that is ready!
So rest assured this issue will be a non-issue soon
Rama