A friend came over to my house and looked at this for me. Turns out the culprit is this line in the pri.example.com file.
He explained to me that since this is the first line for MX, DNS is using the MX records for the mail.example.com subdomain. Once I removed that line, pingability.com is able to see my MX record. Yay!
I'm still getting a delay in sending mail to Yahoo though. I've emailed their support team, but haven't received anything useful yet. This is what's seen on my mail.info log.
Jun 17 13:33:11 b169 postfix/smtp: EF92A5E829E: to=<email@example.com>, relay=f.mx.mail.yahoo.com[184.108.40.206]:25, delay=4, delays=0.81/0.02/3.1/0, dsn=4.0.0, status=deferred (host f.mx.mail.yahoo.com[220.127.116.11] refused to talk to me: 421 Message from (18.104.22.168) temporarily deferred - 4.16.50. Please refer to http://help.yahoo.com/help/us/mail/defer/defer-06.html)
The behavior is changing, it seems. Yesterday, there was no delay in delivering the mail, but it ended up in the Spam Folder still. Today, there's a delay in delivering the mail (around 30 minutes), but the mail arrived in my Inbox instead of the Spam Folder.
I wonder if the postfix virtusertable issue has something to do with ISPConfig.