I dont have working proposal of this as you requested though im sure there are much simplier and easier solutions to be able to get round your issue. As you say you are loading the image, which takes some time, in the rowDataBound Event. Then why not just move it out of there and into its own little function? Then call this as and when needed? Or even simply have a flag in your rowDataBound event that will do something like the following....
private sub Grid_RowDataBound (sender as object, e as args)
'do some code stuff
if not mblnImageLoaded then
LoadImage()
mblnImagedLoaded = true
end if
end sub
I.E. if you have loaded the image then don't load it again. Just a thought. If you have any further queries on this propsal, just get back to me. Good luck with this :)
Mike