запрос в
http://www.google.ru/ - "работа с регионами".
http://www.rsdn.ru/article/gdi/regions.xml
http://www.codenet.ru/progr/delphi/stat/regions/
имхо, с ними проще отлавливать столкновения пазлов при перемещении их мышкой. хотя если форма всех пазлов одинакова и будет только вставка пазла в сетку то естественно с прямоугольниками работать проще - достаточно будет битмапа с фоном, который будет прозрачным при отображении. естественно этот цвет не должен использоваться в самой ккартинке.