Кажется маловероятным, чтобы это было проблемой, если только у вас не возникнут какие-либо структуры данных размером 4 ГБ.
Вот чей-то ответ: http://oss.sgi.com/archives/ogl-sample/2005-07/msg00003.html
Quote:
(1) Arithmetic on unsigned values in C doesn't always yield intuitively
correct results (e.g. width1-width2 is positive when width1<width2).
Compilers offer varying degrees of diagnosis when unsigned ints appear
to be misused. Making sizei a signed type eliminates many sources of
semantic error and some irrelevant diagnostics from the compilers. (At
the cost of reducing the range of sizei, of course, but for the places
sizei is used that's rarely a problem.)
(2) Some languages that support OpenGL bindings lack (lacked? not sure
about present versions of Fortran) unsigned types, so by sticking to
signed types as much as possible there would be fewer problems using
OpenGL in those languages.
Оба объяснения кажутся правдоподобными - я 'Я сам несколько раз сталкивался с 1), когда тупо использовал NSUInteger для счетчика цикла (подсказка: не делайте этого, особенно при обратном отсчете до нуля).