I was not passing a time zone. I ended up converting the times to UTC taking DST into account and then passing them with Z suffix and it works.
But unless you get your program to alter the times for the DST they are an hour out when added. Eg:
01-03-2012 10 AM
adds in as 10 AM
But
01-04-2012 10 AM
adds in as 11 AM.
I have to pass
01-04-2012 09 AM
and it adds in as 10 AM.
Fortunately, I found suitable code to take a local time and date and convert it to the UTC time and date (with adjustment for DST) and it now works.
Andrew