Nothing really jumps out at me, but a couple of things I would look at are:
Is the feed complete from a technical standpoint. e.g. Does it start
and end properly (responsewrite it - don't depend upon a feed reader).
Is the last entry truncated?
What is the actual size of the feed (run the feed through
http://web-sniffer.net )
There are limits on things. html pages have a size limit of around 100k.
Feed consumers usually have a size limit of 512k, 1024k, or in some instances 2048k.
Feed producers are often subject to limits imposed by web servers or isp's.
If the feed looks to be technically correct, it may be a limit on the number of entries returned by sql. toss some test counter code in to see if sql is only returning 1000 records.
If the last record is truncated, it's likely a CDATA limitation or a restriction on the amount of data returned by the query.
If there actually are more than 1000 records produced within a validly formatted feed, then it's a problem with whatever is used to consume ot a problem with production limits set by the host/isp that are truncating the feed.