Достаточно просто вызвать glNewList / glEndList.
Обратите внимание, что удаление вступает в силу только при вызове glEndList:
If a display list with name `list` already exists,
it is replaced only when glEndList is called.
Если вы предпочли бы, чтобы предыдущий список был освобожден ранее, тогда непременно позвоните glDeleteLists
. Быть явным, конечно, не больно.
Последний бит ... glGenLists никогда не требуется. Вы всегда можете вызвать glNewList для любого положительного целого числа, даже если оно не было предоставлено через glGenLists. Основная причина API glGenLists - убедиться, что имя еще не используется. Но вы уже знаете, что если вы просто удалили его.