Это действительно похоже на ошибку с тем, как mktime()
обрабатывает значение "месяцев" больше 12.
php > echo date('o-m-d G:i:s',mktime(0, 0, -1, 2, 1, 2008));
2008-01-31 23:59:59
php > echo date('o-m-d G:i:s',mktime(0, 0, -1, 3, 1, 2008));
2008-02-28 23:59:59
php > echo date('o-m-d G:i:s',mktime(0, 0, -1, 1, 1, 2008));
2007-12-31 23:59:59
php > echo date('o-m-d G:i:s',mktime(0, 0, -1, 13, 1, 2008));
2009-12-31 23:59:59
php > echo date('o-m-d G:i:s',mktime(0, 0, -1, 13, 1, 2007));
2008-12-31 23:59:59
Ваша лучшая ставка прямо сейчас, вероятно, состоит в том, чтобы просто проверить вывод date('m', ...)+1
самостоятельно и в особом случае вычисление, если результат равен 13.