Depends who you ask:

mysql> select "2010-01-31" + INTERVAL 1 MONTH;
+---------------------------------+
| "2010-01-31" + INTERVAL 1 MONTH |
+---------------------------------+
| 2010-02-28                      |
+---------------------------------+
1 row in set (0.25 sec)
php > print date("Y-m-d",strtotime("2010-01-31 +1 month"));
2010-03-03
sqlite> select date('2010-01-31',"+1 month");
2010-03-03

I’m siding with PHP/sqlite on this one.