So I thought I would just add +1 on to the data submitted from the PHP
search page which works just great except for when you put 31 in as
the day of the month, (so say we search from 01/01/2010 to 31/01/2010)
it makes it into 32 and the querie returns 0 rows. However if I add an
IF statement to not increment the day value by 1 if "31" is given as
the last day in the query, we then only get results for 01/01/2010 to
30/01/2010.

is not INTERVAL the way to add a date, so it rolls over the month correctly

DATE_ADD('31/01/2010', 1 day)
or 
'31/01/2010' + INTERVAL 1 day