Your "set cookie" rule will only work in a server config file outside of any <Directory> section -- See my previous comment. For use in the-kellys.co.uk/.htaccess, the code must be:
# Set the cookie on index.shtml accesses
RewriteRule ^index\.shtml - [CO=thewayin:yes:.the-kellys.co.uk::/]
#
# If cookie is not set, rewrite requests for URL-path /flatred.shtml to filepath /properway.shtml
RewriteCond %{HTTP_COOKIE} !^thewayin$
RewriteRule ^flatred/fr\.shtml$ /properway.shtml [L]
Note that the leading slash has been removed from the first RewriteRule's pattern, and that the redundant "RewriteCond %{REQUEST_URI}" function has been moved into the second RewriteRule itself.
I *have not* examined the format of your cookie declaration in detail. If you still have cross-browser issues with the code modified above for use in the-kellys.co.uk/.htaccess, then may sure that the cookie is being properly defined. Use of "<dot>the-kellys.co.uk" is correct if you intend this cookie to apply across all subdomains, but I have not looked into the effects, meaning, or correctness of the preceding ":yes:" or the trailing "::/".
Other minor tweaks for proper pattern escaping and anchoring are for "completeness" only, and should not directly affect the problem at hand.
You may wish to use a server headers checker such as the "Live HTTP Headers" add-on for Firefox and Mozilla-based browsers. This will allow you to watch the client request/server-response HTTP transactions during testing, and to see the actual content of the HTTP "Set-Cookie" server response headers and HTTP "Cookie" client request headers, etc. Such a server headers checker is basic Webmaster kit.
Jim