Не знаю какие у вас пермалинки, я у себя на стандартных «Post name» только что проверил, так как база у меня пустая проверял по быстрому так:
add_rewrite_tag('%play%','([^&]+)');
add_rewrite_rule('play/hello-world/?$','index.php?p=11&play=true','top');
то есть если все работает то должен загрузится пост с id 11, так вот все норм работает, в адресной строке wp36b1/play/hello-world/ а на странице пост с id 11.
Когда ВП настроен на работу с пермалинками, все GET запросы(и POST думаю тоже) заносятся в $wp_query, а вы просто уже проверяете значение play(если он есть) в $wp_query(у меня при проверке он есть play=true), если вы пишите плагин, то проверку GET тоже надо оставить.
Кстати, после каждого добавления/редактирования add_rewrite_rule(и при работе с др. rewrite rule функциями) заходите на страницу wp-admin/options-permalink.php в админке, тогда пермалинки регенерируются.