Wenn du dein Spraytag erstellst, läuft die Schleife einfach komplett durch. Es werden also MAX_Grafitti-1 erstellt. Du musst erstens auch Abfragen, ob in dem verwendeten index eventuell sogar schon ein Element vorhanden ist, ansonsten überschreibst du das Grafitti einfach und du erhälst auf dein altes Grafitti keinen Zugriff mehr auf.
public Erstellengraff(playerid)
{
    new v = random(200+200);
    POBJECT[playerid] += v;
    DestroyDynamicObject(POBJECT[playerid]); //Das Alte Object Löschen!
    POBJECT[playerid] = CreateDynamicObject(19482, Position[playerid][0], Position[playerid][1], Position[playerid][2], Position[playerid][3], Position[playerid][4], Position[playerid][5], GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), -1, 200);//Erstellung des Objects
    SetDynamicObjectMaterialText(POBJECT[playerid], 0, POBJECTN[playerid], OBJECT_MATERIAL_SIZE_256x256, "Diploma", 25, 0, 0xFFFFFFFF, 0, 1);//Einstellung des Textes
    GameTextForPlayer(playerid, "~w~Spruehen ]", 5000, 5);
    DeletePVar(playerid, "GraffitiErstellung"); //PVar Löschen
    SprayMunition[playerid] = 0;
    Spruhen ++;
    for(new i=1;i<MAX_GRAFFITI;i++)
    {
        if(Graffiti[i][gCreated])continue; //Ist dieser index bereits belegt, beendet die Schleife den Durchlauf hier und zählt einfach weiter
        new query[128];
        Graffiti[i][gCreated] = 1;
        format(query, sizeof(query), "INSERT INTO `server_graffitis` (GraffiID) VALUES ('%d')", i); //hier nutzt du den index für die Grafitti ID
        mysql_function_query(MySqlConnection, query, false, "", "");
        format(Graffiti[i][gGraffiName], 16, "%s", POBJECTN[playerid]);
        format(Graffiti[i][gGraffiErsteller], 16, "%s", GetName(playerid));
        Graffiti[i][gGraffiID] = POBJECT[playerid];
        Graffiti[i][gGraffiX] = Position[playerid][0];
        Graffiti[i][gGraffiY] = Position[playerid][1];
        Graffiti[i][gGraffiZ] = Position[playerid][2];
        Graffiti[i][gGraffiX2] = Position[playerid][3];
        Graffiti[i][gGraffiY2] = Position[playerid][4];
        Graffiti[i][gGraffiZ2] = Position[playerid][5];
        SaveGraffitis();
        return 1; //Hat die Schleife nun einen freien index gefunden, beenden wir hier die gesamte Schleife
    }
    return 1;
}
Das zweite Problem was ich sehe ist, du benutzt zum einen den index als Graffi ID in der Datenbank und zum Speichern benutzt du die Variable Graffiti[i][gGraffiID]. Das müsstest du noch überarbeiten und dich für eines entscheiden. Solltest du dich für den index entscheiden, dann solltest du bei deiner Tabelle AUTO_INCREMENT deaktivieren.
public SaveGraffitis()
{
    new count = 0, mainQuery[1537], secondQuery[256];
    for(new i=1;i<MAX_GRAFFITI;i++)
    {
        if(Graffiti[i][gCreated] == 1)
        {
            format(secondQuery, sizeof(secondQuery), "UPDATE `server_graffitis` SET `GraffiObj`='%d', `GraffiX`='%f' `GraffiY`='%f' `GraffiZ`='%f', `GraffiX2`='%f' `GraffiY2`='%f' `GraffiZ2`='%f', ",
            Graffiti[i][gGraffiObj], Graffiti[i][gGraffiX], Graffiti[i][gGraffiY], Graffiti[i][gGraffiZ], Graffiti[i][gGraffiX2], Graffiti[i][gGraffiY2], Graffiti[i][gGraffiZ2]);
            strcat(mainQuery, secondQuery);
            format(secondQuery, sizeof(secondQuery), "`Ersteller`='%s', `Name`='%s' WHERE `GraffiID`='%d' ", //hier nutzt du für das Speichern anstatt den index
            Graffiti[i][gGraffiErsteller], Graffiti[i][gGraffiName], Graffiti[i][gGraffiID]);                //eine neue Variable
            strcat(mainQuery, secondQuery);
            print(mainQuery);
            mysql_function_query(MySqlConnection, mainQuery, false, "", "");
            strdel(mainQuery, 0, sizeof(mainQuery));
            count++;
            printf("[SAVE] Graffiti wurden gespeichert. (%d/%d)", count, MAX_GRAFFITI);
        }
    }
    return 1;
}
Ich hoffe du kannst damit etwas anfangen und verstehst ein wenig, welche Probleme momentan vorliegen, ansonsten melde dich, dann kann ich es versuchen noch ein wenig mehr zu erläutern. Ich sehe des öfteren von dir, dass du ganz viele dynamische System verwendest oder erstellst. Schaut dir mal in dem Zuge die Foreach & Iterator Funktionen an, hier ein kleines Tutorial aus dem englischen Forum: https://forum.sa-mp.com/showthread.php?t=588526