I believe in SQLite 'date' is just a synonym for 'text', so BETWEEN '01/02/2013' AND '04/02/2013' is a lexicographical comparison, not a date comparison. As strings of text, "30/01/2013" > "04/02/2013".
Thanks Helios, that makes sense as to why I'm returning NULL.
How would I approach a solution...perhaps store the dates in unix timestamp format? what a drag :-(