First, I would like to establish that you are creating a sceneGraph app. From the code you have posted you seem to be mixing ROKU SDK1 and Scenegraph which don't mix so well. For instance compositor cannot draw to a posternode unless posternode is roScreen. roBitmap, roRegion, and roCompositor are all to be used with the SDK1 roScreen components and will fail when used with Scenegraph. Before tackling downloading an external file to the temp file, I would suggest looking at the scenegraph poster component demos to make sure that you can access and display image file that is included locally in the package.
Once you are familiar with displaying images to a scenegraph scene, then you can determine what the problem is with fetching an image remotely. Possible problems 1) there was a problem with the file transfer 2) make sure that the image size is less that 2048x 2048 pixels in either direction . Larger will cause a a image to be invalid because Roku has a limit on image size (ie.1px x 2049 px will be invalid ). The downloaded file should remain in the temp:/ file system until channel is exited. You can use the filesystem components to verify the file is there.
Then we can work on displaying part of an image. For those that are interested and looking for an answer to your initial question. Create a group as a child of the scene (or parent of your choosing) use ClippingRect to the size you would like the partial image to be. Create a poster node as a child of this group and use translation (negative numbers relative to group) of the poster to position the area you would like to display in the window created by ClippingRect. ClippingRect is documented on the "group" documentation page I referenced earlier.
There is a way to do it the way you are trying, but it is more complicated than necessary to achieve the results you are looking for.