Ok, i've had a look at the maths and I get the following f (very similar to yours) :

- f1.png (2.46 KiB) Viewed 144 times
which was derived by integrating the probability that an incoming photon gets scattered along it's path in direction theta_out with prob g, and that it does not get scattered again on it's way out. Ignores in-scattering.
In the limit that sigma->1 (ie, forced scattering) I get

- f2.png (1.27 KiB) Viewed 144 times
which does indeed become similar to my original formula as you suggested- except for the d term which puzzles me a little, however I can't find any obvious error in my working.
Anyway, if there are no obvious errors i'll implement this formula for the BRDF with parameters:
scattering (sigma),
absorption(a),
g (probably enumerate specific functions with relevant sub-parameters?)
thickness (d)
reflectance (R - so can apply a texture)
I'll calculate the applicable BTDF formula also. If it helps you then i'm happy to create a BRDF/BTDF combo in which you can select a scattering function and relevant parameters - and then call that "F" function from within mine to calculate g.