>>44452944>unfortunately due to the difference in programming language between the consolesThe difference in programming languages don't matter and it's not the problem here. The real problem was a complete pokemon data structure overhaul that introduced personality values, differently calculated and stored EVs and IVs in place of DVs, as well as abilities, natures, a different shiny determination algorithm, differently determined Unown forms and so on.
In theory it was still possible to implement a one-way trade mechanism, generating a Pokemon on the receiving end similar to the one sent from a gen 1/2 game (something they did much later for Virtual Console releases and PokeBank), but at that time they decided it was not worth it (and they probably thought the lack of backward capabilities will help Nintendo sell the new cables), contributing to the decline of the franchise.
tl;dr it was not a difference in programming but introduction of the personality value