Also mal vorne weg, schau mal deine Deklaration an:
new TrunkInvGetRowItem[128][MAX_PLAYERS][MAX_ROWS];
und nutzen tust du sie so:
TrunkInvGetRowItem[playerid][r]
Naa fällt dir ein Fehler auf? 
Du nutzt dein Array, als ob du es so deklariert hättest:
new TrunkInvGetRowItem[MAX_PLAYERS][MAX_ROWS][128];
Ist es falsch strmid zu nutzen?
Sagen wir mal nicht falsch, aber ungünstig.
Besser wäre hier, wie du schon erwähnt hast format oder noch besser, da dein String hier konstant ist einfach direkt setzen lassen.
Der Grund, warum dein Format nicht funktioniert ist, dass du sizeof so verwenden musst, wenn du die 3te Dimension abfragst: sizeof(TrunkInvGetRowItem[][])
Aber wie schon gesagt, einfach direkt setzen ist ja kein Problem:
TrunkInvGetRowItem[playerid][r] = "Margherita";