As with so many design questions in our field, the answer is: "It depends." There are certain, specific cases where it would be stupid to bother running a typical hash algorithm on the integers. If you know based on your specific situation that a modulus would distribute the expected data evenly, and if performance is very important to you, and if you'll need to access this hashtable quite a lot, then it would be stupid. Barring these conditions, there are a number of very good reasons to just use a generic hashing algorithm that will work well across a variety of circumstances. In the vast majority of cases, it would be stupid to do otherwise. In some cases, using a hashtable would be a stupid choice in the first place.
If you gave us more information about the type of data you're storing, why you're storing it, and how important performance is to you, we might be able to point you to a solution that works better than using a hashtable. Frameworks like Java and .NET have hash functions that are fast and avoid hashing numbers to the same bucket. In most cases, I'd trust the default hash method.