Err … my bad, capture on the GROUP does solve the problem. It is indeed capturing just the image that fails. Bah. I was sure I had tried that both ways.
As long as one of them works, I’m good. *chuckle*
But, here’s sample code that lets you do a test for the image only capture if you want it, since I wrote it to figure it all out. lol 
local tmpFunc = function ( event )
local fileName ="pic\_" .. os.time() .. ".jpg";
local saveListener = function (evt)
-- create a group
local saveGroup = display.newGroup();
-- load the downloaded image
local photo = display.newImage (fileName, system.DocumentsDirectory, 0, 0);
-- scale, move and add it to the group.
local xScale = (display.contentWidth \* 0.95) / photo.contentWidth
local yScale = (display.contentHeight \* 0.95) / photo.contentHeight
local scale
if (xScale \< yScale) then
scale = xScale
else
scale = yScale
end
if (scale \< 1) then
photo:scale(scale, scale)
end
photo.x = display.contentWidth/2;
photo.y = display.contentHeight/2;
saveGroup:insert(photo);
-- experiment with captures:
-- capture the photo object
display.capture ( photo, true );
-- capture the group
local screencap = display.capture ( saveGroup, true );
if (screencap and screencap.removeSelf) then
screencap:removeSelf();
end
-- capture the screen
local screencap = display.captureScreen ( true );
if (screencap and screencap.removeSelf) then
screencap:removeSelf();
end
-- Remove the photo with a quick timer.
local timerFunc = function (evt)
saveGroup:removeSelf();
saveGroup = nil;
return true;
end
timer.performWithDelay (1, timerFunc);
event.target.txt.text = "Good tap. Check your camera roll.";
event.target.txt.size = 25;
return true;
end
-- download a cool logo from the net and see if we can put it in the camera roll.
network.download("http://www.21x20.com/21x20-logo.gif", "GET", saveListener, fileName, system.DocumentsDirectory )
end
-- blah blah.
local tmpGroup = display.newGroup();
local thisRect = display.newRect (-50, -50, display.contentWidth+100, display.contentHeight+100);
thisRect:setFillColor(150, 150, 150);
thisRect:addEventListener("tap", tmpFunc)
tmpGroup:insert(thisRect);
local txt = display.newText ("tap to try it.", 100, 200, "Arial", 30);
tmpGroup:insert(txt);
thisRect.txt = txt;
[import]uid: 13859 topic_id: 23885 reply_id: 96762[/import]