Try using Z depth in the compositor to calculate transparency, instead of the Film > Transparent checkbox. I think blender is trying to calculate transparency using the surface of each material, so your volumetric material gets treated as if it is totally transparent (because it has no surface).
You can use a node setup like this:
The number in the less-than node makes it so that anything far enough away from the camera (at least 1000000 blender units in this case) gets drawn as transparent. For my test scene, the value 100 worked as well. Once you change this, you no longer need to use the "transparent" checkbox so you can uncheck it if you like.
This works because the world background has a Z depth of about 10000000000, as opposed to the Z depth of cube in my scene, which has Z depth ranging from about 5-9 (its faces are between 5 and 9 or so blender units away from the camera). Because the Z depth of the background and the stuff in the scene is so different, you can just pick a value in between and make everything transparent if the Z depth is higher than that value.