Pavel, as per the MIB definition, the sysUpTime object is a 32-bit number. The elapsed time is represented as number of TimeTicks i.e. 1/100the of a second. So, it will wraparound after 497 days.
Given 2^32-1 = 42949672 (seconds), divide by 86,400 (seconds in a day) = 497 days
There appears to be no workaround to this and it is designed per RFC1213.
You might be able to poll snmpEngineTime (1.3.6.1.6.3.10.2.1.3) for the uptime of the SNMP process, however this may not be as accurate. However a 'show switch' output will always work.