That looks to me like a glitch. The explanation might be that:
"Syntax
DAYS360(start_date,end_date,method)
Start_date, end_date are the two dates between which you want to know the number of days. If start_date occurs after end_date, DAYS360 returns a negative number. Dates should be entered by using the DATE function, or as results of other formulas or functions. For example, use DATE(2008,5,23) for the 23rd day of May, 2008. Problems can occur if dates are entered as text."
It seems the function reads a 30-day month from the first date and that is 2 days after the second date, hence -2.
The following results also in -2...
=DAYS360("2/29/04"+0,"2/28/04"+0)