I'm a month late for the discussion, but Graus is right. It has to work (the meta inside the frame's html)
Here's a sample.
Save this one as page.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<div style="padding:25px;">
<script>document.write(Date().toString());</script><br/>
<iframe src="frame.htm" title="frame title"></iframe>
</div>
</body>
</html>
& this one as frame.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="refresh" content="2" >
</head>
<body>
<script>document.write(Date().toString());</script>
</body>
</html>
Fire the page.htm & you'll see the refresh.
However this is not viable if the frame's html is used as another stand alone page & you do not want to insert the 'meta refresh' inside it.