下記のよなPGで現在時間の総経過時間を秒単位で計算しています。
アプリケーションは32bitで作成して64bitマシンで動かしています。
Windows7 64bit 環境では正しく計算されますが、
Windows Server 2008 R2 SP1 64bit環境では -1を返してしまします。
なにか問題なのかさっぱりわからなくて困っています。

INT64 CDummyPG::totalsec(int iyear, int imonth, int iday, int ihour, int imin, int isec)
{
    INT64   nSecond = 0;
    time_t  timeSecond = 0;
    tm      tmTmp;

    //year
    tmTmp.tm_year = iyear - _BEGIN_YEAR; // 1900 年以降の時間を計算
    //month
    tmTmp.tm_mon = imonth - 1;
    //day
    tmTmp.tm_mday = iday;
    //hour
    tmTmp.tm_hour = ihour;
    //minute
    tmTmp.tm_min = imin;
    //Second
    tmTmp.tm_sec = isec;

    timeSecond = mktime(const_cast<tm *>(&tmTmp));

    return INT64(timeSecond);
}

time.inlプレビュー

static __inline time_t __CRTDECL mktime(struct tm * _Tm)
{
    return _mktime64(_Tm);
}

よろしくお願いします。