Hi Danny,
do you see error messages in /var/log/ltm when the iRule is triggered?
("tail -f /var/log/ltm")
I believe it is necessary to escape all quotas in the specified content as you did with the \"REFRESH\" in the meta tag. I would also recommend to avoid the usage of the delay variable and hard code the refresh rate instead to simplify things.
Personally I prefer to put content into a $payload variable (using "append" to combine with other variable parameters) and to reference it in the HTTP::respond 200 content "$payload".
Thanks, Stephan