The problem doesn't seem to be getting to the $node->content structure. That's present in $node when I hook during op=view. The problem seems to be getting the data into the right place in a cck image field in $node->content.  If I were copying the body text from one node the one being viewed, I could just set $node->content->body['#value'] equal to the new text, but $node->content->my_cck_imagefield doesn't have a '#value', the field info is at

$node->content->my_cck_imagefield['field']['items'][0]['#item']

when I hook, that element only contains #delta=>0

then I set #item = the array containing

[fid] => 11
    [list] => 1
    [data] => Array
        (
            [description] => 
            [alt] => 
            [title] => 
        )

    [uid] => 1
    [filename] => myimage.jpg
    [filepath] => sites/mydomain.com/files/myimage.jpg
    [filemime] => image/jpeg
    [filesize] => 174602
    [status] => 1
    [timestamp] => 1296425237
)
and the dsm() output of the node after that shows that #item still only contains #delta=>0, so I'm missing the piece of how/where I replace the field contents.