Il tuo codice non funziona perchè tu passi un array bidimensionale di puntatori. Cioè:
Array bidimensionale di puntatori =
Array di array di puntatori =
Array di puntatori a puntatori =
Puntatore a puntatore a puntatore.
Sarebbe tipo TBoat ***Sections, ma la conversione da TBoat
*Sections[][] a TBoat ***Sections non riesce, quindi meglio che fai come ho scritto io.