Many thanks for the replies (especially Raj - i'll be contacting you).
After i had posted this message, we went away and wrote a perl module to parse zone files and produce XML (or any other) output. We'll be posting this on CPAN soon, but if anyone would like a copy, please let me know.
I needed to import a large amount of zones into a SQL database too - last year. So I wrote some Perl code to do it -- no problem. But later I found the _correct_ solution (which I am now using).
It's both easier, fast and more correct than using Perl :-)
Simply try downloading the bind sources, and you will find there's a set of support functions for reading in and parsing zone files - returning them as a set of RR records in a node (easy to program with).
With the new Bind9 there's even an example program that imports zone files into a PostgreSQL database. It was very easy to edit that into importing in a MySQL database.
You may be interested to know that we went away and wrote a Perl module that parses Zone Files also; It is available to download from CPAN. My colleague Simon Flack took the bare bones of what we needed and wrapped it up as a rather useful utility.