I'm also trying to work through some timeframe/indicator related issues and have a current thread about it.
The way I understand BarpPeriod/TimeFrame and price/indicator data is this....
BarPeriod will generate the following price series for BarPeriod: priceOpen(), priceHigh(), priceLow() and priceClose()
So in your example, the above functions will be autofilled every pass of run() which technically you could say it is filled every 5 minutes.
If you call TimeFrame(12) then yes, you will be looking at H1 data. Any call to the above functions, while TimeFrame = 12, will give you H1 data for that feature.
Of course you can always set up a TimeFrame specific series with
vars C = series(priceClose());
to make accessing non current bar elements easier.
I may have this completely wrong given I'm having problems of my own with this kind of thing.