I've upload a test scene (MixedStrands.zip)
you'll see that there is indeed a bug, for the sake of simplicity I've just made a random switch for the shape (segment or cylinder) and it works.. or not ! changing the seed value can make it works sometimes... maybe some lazy evaluation problem..
about the strand resolution, I add a ShapeResolutionU and shapeResolutionV because this is the rendered tesselation. even a strand with a few segment can build millions of polygons at render time, so this is to force the tesselation low. as you can see the result is not so different, but read the log !
with ShapeResolutionU (= 7) & ShapeResolutionV (= 16) :
// INFO : GAPM 0.4 info : triangle count (including retessellation) : 8316

without ShapeResolution optimization :
// INFO : GAPM 0.4 info : triangle count (including retessellation) : 127316

thomas.
