This is an interesting question. As always with transliteration, there are compromises.
Why do Azeris still transcribe their names if both the forms are written in Latin? I am aware that they used Cyrillic before and they switched to Latin.
Firstly we should note that there are other languages written in the Latin script for which compromises are made by individuals in international contexts: Uzbek, Turkish, Serbo-Croatian, and in a sense, any language with non-ASCII characters, like French or German.
Even English. Any non-ASCII alphachar in the Latin version of your name will cause problems with software and bureaucracy at some point in life. Relatively common all-ASCII British or Anglicised names can be problematic or lossily stored (eg McDonald, Smith-Barnes, Ng) in some software.
In official contexts (ID or passport), do both forms of the name appear or just the latter?
Older passports did not include an international (ie English-inspired) Latin-to-Latin transliteration, but the new ones do:

Note Sevinj, rendered according to Anglophone expectations even though 'c' is an ASCII character
So, just as there is an official Latinisation according to many regimes, according to the Azerbaijani regime there is an official "English form".
Regardless of the official prescriptions, we could expect private individuals to provide such a form in some contexts. For Azeri specifically, the precedents for Latinisation and internationalisation are Turkish and Russian. In fact in Russian, 'ə' is rendered as 'a'/'а' (that's Cyrillic), in Turkish cognates it is 'e'.
This is not unique to Azeri nor to 'ə': you will not find many people from Turkey who keep using 'ş' in their names in all their documents in Anglophone countries. Note however that less English-oriented Latinisations, say of 'Gəncə', are possible:
French: Gandja
German: Gandscha
Turkish: Gence
Serbo-Croatian: Gandža
English, but via Russian: Gandzha
Also, you may still encounter Gäncä.
That said, the trend in European languages these days is away from local phonetic renderings towards English-phonetic renderings (Ganja) or towards the native Latin version (Gəncə) if possible.
Is the letter 'ə' not supported by software and is it easier to write a more common equivalent, like 'a'?
As you see with 'c' in 'Sevinc', it is not simply a matter of software compatibility. That said, no non-ASCII alphachar is supported by all software in all situations.
'ə' specifically is even more problematic, although it is part of the IPA.
Conversely, foreign names, when written in Azeri or many other languages with similar issues, will use these characters: George Bush is Corc Buş in Azeri.