Ну вот. Увидел на свою голову тему и заинтересовался.
Накидал класс TPuzzle, который при заданных параметрах формирует регионы для всей мозайки (достаточно указать размер мозайки, количество строк и столбцов). А дальше используй как тебе заблагорассудится. Смотри пример.
http://zalil.ru/32798052

Пример не реализовывает игру. Только отображает частично собранную мозайку и "кучу" оставшихся фрагментов.