Ну, собственно, чо тут добавить? Пытаюсь вспомнить --- чо там Державин учудил, когда Пушкин ему на экзамене стихи свои прочитал? Расплакался и убежал из класса?  
 
 
Моя попытка раскрасить картинку красивого эффекта не дала.
Но трюк этот с циклической заменой цвета стоит взять на заметку.
Код:
/DrawSegment { % beg end -> (draw segment)
  moveto lineto stroke currentrgbcolor 3 1 roll setrgbcolor  % NEW
} bind def
1 0 0 setrgbcolor .7 setlinewidth                            % NEW
% Koch:
[0.333333 0   0.5 0.288675   0.666667 0] 100 650 500 650 DrawFractal
...............................................
Ну, ошибку всего одну увидел --- 
/IsBigSegment. Правильно, по-моему, 
/IsSegmentLong.  
 
 Предложу несколько отладочных трюков.
Читать сообщение об ошибке из GSView/Message_Window бывает утомительно, хочется прграммку-"студию", с отладчиком, трассировкой, и проч прибамбасами. Такие есть, мне для какой-то шабашки заказчик как-то покупал за довольно много фунтов стерлингов.  Давно не интересовался этим вопросом, сегодняшняя ситуация мне неизвестна.
Если у Вас установлен только GSView, попробуйте установить также полноценный GhostScript. Там 2 программки gswin32.exe и gswin32c.exe . Они дают некий консоль, в котором можно прямо набивать PS-код, и в другом окошке смотреть имаж.
В gswin32c.exe (c = console) консоль удобнее, позволяет стрелочками доставть предыдущие команды итд... Удобно, ежели, напимер, забыли параметры команды, пробовать всякие варианты с консоля.
Запустить с консоля  некий готовый файл можно постсрипт-командой 
run:
(string_with_your_file_name.eps) run
(C:/qqq/test.ps) runВот процедурка /Pstack, более удобная чем системный 
pstack:
Код:
/Pstack {%
  count [exch dup (items on stack:) 3 -1 roll % S0 S1 ... S_n-1 [N (txt) N
      dup 3 add exch                          % S0 S1 ... S_n-1 [ i=n+3 n
      {dup index dup [ eq {pop (mark)} if exch} repeat % replace -mark- by string "mark"
      pop] == flush
} bind def
Вот процедурка, печатающая N последних элементов стека с комментарем. Типа
(XYZ:) 3 Args
выдаёт 
[(XYZ:)  4.12334  9999  -1.0000] 
Код:
/Args {%  Title N 
       %  "Title" is either /Name or (String)
    [ 3 1 roll        % a1 ... aN [ /T N
      dup 2 add exch  % a1 ... aN [ /T N+2 N
      {dup index exch} repeat pop
    ] == flush
} bind def
Успехов.
Добавлено спустя 14 минут 14 секунд:Делать 
stop, чтобы увидеть содержимое Message window, не обязательно.
Наставьте, где надо, этих отладочных печатей, вызовите Message window кнопкой М.
Простейшая отладочная печать --- 
(Some text 1) == 
(можно добавить 
flush) типа "это место прошли не сломавшись".
Добавлено спустя 30 минут 3 секунды:Структура моих eps файлов примерно такова:
Код:
%!PS-Adobe-2.0
%%BoundingBox: 0 0 560 168
(MyLibrary.ps)  runlibfile              %  <--- собственно, это показываю
BeginFig  (процедурка избиблиотеки)
[-2.3 -1.9 2.3 2.3] 100 PicBegin
/TI 12 PicFont 
 .6 PicLW
(x) (y) PicAxes
TractrixDict begin
0 1000 0.7 DrawTractrix
end
EndFig
В Латехе этот пролог (библиотека)  задаётся вначала командой \special...
а команда 
runlibfile в этом же прологе переопределяется в пустышку (runlibfile=pop).
Таким образом, когда я смотрю картинку в GSView, runlibfile работает как надо, а при интерпретации внутри латеха (100 таких картинок) уже не мешает.