I suggest you reconstruct the code bit by bit. I tried constructing a test program and it worked fine:
from urllib import urlopen
from re import findall
from urlparse import urljoin as basejoin
def next_page_finder(site):
site = urlopen(site).read()
next_site_pages = []
next_site_pages.extend(findall(r'\?Brand=\d+\&pg=\d+',site))
new_pages = []
for _ in next_site_pages:
new_pages.append(basejoin("http://www.goldwatches.com/watches.asp",_))
return new_pages
print next_page_finder("http://www.goldwatches.com/watches.asp?Brand=11")
Test this program to see if it works on your system, then build up from it until you get your original program. Test it at each stage, and see what causes it to fail.
For instance, perhaps findall is redefined somewhere?