These properties do different things.
com.arjuna.ats.jts.alwaysPropagateContextcauses the client handler to propagate any transaction context to the server, regardless of whether it is an OTS transacitonal object or not. This is the one you want to set.
com.arjuna.ats.jts.needTranContextcauses the client handler to throw an exception if there is no transaction context associated with the current thread when the invocation is made.
Please check the JBossTS manuals for the descriptions of these properties. If you believe they are deficient, let us know and we'll look at updating them.
In general, the documentation with JBossTS should be the first line of reference: we've built it up over 20 years.