Полагаю, вам нужно установить текст нулевой длины, чтобы полностью очистить его, я сам не уверен, почему это необходимо, но этот код работает:
clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
gtk_clipboard_clear(clipboard);
gtk_clipboard_set_text(clipboard, "", 0);
clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
gtk_clipboard_clear(clipboard);
gtk_clipboard_set_text(clipboard, "", 0);
Обратите внимание, что когда GTK + работает под X11, на самом деле есть две «буфера обмена», GTK (GDK_SELECTION_CLIPBOARD) и X11 (GDK_SELECTION_PRIMARY). Под Windows операции над GDK_SELECTION_PRIMARY, я думаю, ничего не делают.