Ich werfe mal noch die Vermutung in den Raum, dass Dein Microcontroller die Pakete an die falsche
IP-Adresse sendet. In Deinem Coding war zumindest eine Destination "hardgecoded".
byte ipDestination[] = {192, 168, 2, 99}; //Ziel Ip Des Paketes
Wenn das so ist, dann könnte der Rechner mit dem Delphiprogramm ein andere Adresse als die obige zugewiesen bekommen und empfängt dann natürlich nichts. Soweit funktioniert es dann korrekt, nur dass Du Dein Ziel vom Mikrocontroller aus gesehen nicht erreichst.
Was dann Wireshark beim Starten auf dem Rechner macht ist, den Empfangsmodus auf den
Promiscuous Mode umzustellen, um alle Pakete des Netzwerkes zu empfangen. Damit landen dann auch alle nicht richtig adressierten Pakete auf dem Rechner.
Grüße, Christoph