Хорошо, я разобрался, что происходит, и подумал, что опубликую это здесь на случай, если кто-то еще столкнется с такой проблемой.Использование fiddler было инструментом, который поставил меня на правильный путь.
По сути, кнопка ссылки, которую я использовал для вызова функции javascript, вызывала обратную передачу всей страницы, а не просто вызывала функцию javascript.Поэтому, если запрос был достаточно мал, ответ на вызов веб-службы пришел быстро, и веб-страница запустила функцию обратного вызова с новыми полученными данными JSON.По мере того, как наборы данных увеличивались, иногда ответ возвращался вовремя, чтобы страница обрабатывала результаты.Однако иногда ответ не возвращался до тех пор, пока не была завершена обратная передача всей страницы, и ссылка на функцию обратного вызова была потеряна.Таким образом, он вернул бы данные JSON, но не знал бы, что с ними делать.
Поэтому у меня была функция javascript, вызываемая кнопкой ссылки, всегда возвращавшая false, чтобы отменить пост обратно, и проблема была решена.
У меня была только одна другая проблема, которая заключалась в том, чтобы установить для параметра MaxObjectsInGraph для службы достаточно высокое значение, чтобы учесть возвращаемый размер JSON.Единственное, что я все еще нахожу странным, это то, что если этот параметр не был достаточно высоким, я бы получил окно ответа на запрос с запросом имени для входа в систему для первых нескольких попыток, а затем служба просто вернулась бы с неизвестным кодом состояния.
В любом случае, я надеюсь, что этот пост окажется полезным для кого-то еще.