Как написал - так и получил. Double имеет мантису в 52 бита, отсюда
при преобразовании в int64_t имеем последние 8 бит - нулевые. Скобочки тщательнЕе нужно расставлять:
ServerSyncTime1 = (uint64_t)(PtpParserCtrl.cServerFollowUpTime[1].secs*1e9) + PtpParserCtrl.cServerFollowUpTime[1].nsecs;