The render target pointer should change for every view that renders into a render target. Maybe you are using some other shaders with multiple view stages that use render targets like shadow mapping.

Your problem is that your material doesn't belong to the second stage after the camera view. There is no sequential order. When your material is processed, the render target pointer could point to another/changed render target of another view that was calculated in the meantime.

I think you already did the right thing by rendering into a seperate bitmap and using this bitmap in your shader instead of TargetMap.

You can also draw the render_target bitmap onto the screen with help of the Debug_Bmap macro. Maybe do this and remove other views and shaders and check if its rendered content is correct.