Hello,
The WHERE function returns a long array and the maximum allowable values for a long number are from -2,147,483,648 to +2,147,483,647. You can find that information at the following web page, which tells you a lot of information about all of the different IDL datatypes:
http://www.exelisvis.com/.../IDL_Data_Types.html
There is also a keyword for the WHERE function (the keyword is /L64) to return a 64bit long array which has values ranging from -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807.
I hope that helps!
-Zach (VIS)