Your post isn't clear.
Are you currently working using an hourly contract, and when you work, are you logging into the oDesk Team Application and tracking you time?
If NOT, then you are doing the hourly contract wrong, and you might not get paid.
If you ARE logging your hourly time, then the proper thing to do is to provide your client with whatever file he wants, whenever he asks for them.
The files do NOT belong to you. They never belonged to you. They belong to the client always. Do what the client asks.
(If this was a fixed rate contract, then the files belong to you until you are paid for them, but you typically send the files to the client when you submit them, and then you get paid. But that's another matter entirely and there are details to that which we won't go into now because you have an hourly contract, so those detail are irrelevent.)
If it is an hourly contract and you are using odesk team app properly with memo and screenshots, then it is safe to share any work with the client as the payment is guaranteed by odesk.
If it is a fixed priced contract, then always submit the work using milestones.
PS : Even though payments are guaranteed by odesk, some clients try to game the system by filing disputes and giving bad feedback so if you are working with a new client who does not have a reputation on odesk, then try to have short term milestones and contracts by dividing the work into steps.
If you have not way to show work progress to your client you should send.
and for hourly contract your earning will automatically add to you account as (Step) In review >> Pending>> Avaliable