I've never used the auto-refresh property of a report but I would guess that since it is a report-level property what you're expecting to happen won't work. In order for only the subreport part of the report to refresh it would effectively need to be a frame or iframe (using HTML as a reference). SSRS does not render this way and so your subreport isn't going to autorefresh. It renders the subreport and shows it in the subreport control and moves on.
I'm not really sure how you could have a dynamically updating element in a report using the standard controls. It would need javascript or some kind of other client-side scripting language that gets processed in order to keep functioning and even then it would only work when rendered to HTML.
Basically I don't think this is possible without a third party add-on, and I don't know of one that allows dynamic refreshing of individual report elements without refreshing the whole report.
If you can program in .NET you could write your own custom control for SSRS. This is effectively a third party addon you would create yourself. You could create a clock control and even give it properties to make it customizable. If you're going to use it in reports that you deploy to a report server you'll need enough access to that server to deploy the control assembly to the necessary location. See these MSDN pages for more info:
Jazz Up Your Data Using Custom Report Items In SQL Server Reporting Services