Hi Adam,
If you have the license for DNS iRules (with DNS Services or GTM for example) then you should use that kind of iRule, and it works (tested it in my lab in 11.4):
when DNS_REQUEST {
if { ([string tolower [DNS::question type]] eq "mx") && ([string tolower [DNS::question name]] eq "test.intra")} {
DNS::answer clear
set new_rr_1 [DNS::rr "mx.test.intra 100 IN MX 100 mx1.test.intra"]
set new_rr_2 [DNS::rr "mx.test.intra" MX IN 600 "150 10.1.1.1"]
set new_rr_1a [DNS::rr "mx1.test.intra" A IN 300 "10.10.10.10"]
set new_rr_2a [DNS::rr "mx2.test.intra" A IN 50 "10.10.10.11"]
DNS::answer insert $new_rr_1
DNS::additional insert $new_rr_1a
DNS::answer insert $new_rr_2
DNS::additional insert $new_rr_2a
DNS::header aa 1
DNS::return
}
}