Обычно это делается, когда происходит столкновение имен. Например, в конструкторе TComponent представьте, что было написано:
constructor TComponent.Create(Owner: TComponent)
Теперь параметр Owner скрывает свойство Owner экземпляра. Чтобы сослаться на недвижимость, вам нужно написать Self.Owner.
Вы, вероятно, обнаружите в источниках VCL, что префикс A используется, когда есть такое столкновение, и не используется, когда его нет. Но в применении этого соглашения будет непоследовательность.
Я скорее надеялся, что руководство по стилю Embarcadero Pascal скажет что-нибудь по этому вопросу, но, к сожалению, оно молчит.
Лично я никогда не использую префикс A в коде, который я пишу. По моему опыту, сокрытие всегда хорошо, потому что вы обычно ссылаетесь на параметр, а не на элемент экземпляра. Если вам когда-либо понадобится обратиться к члену экземпляра, то Self.Name может устранить неоднозначность.
Итак, нет никаких правил, просто соглашение, определяемое личными предпочтениями. Сделайте свой собственный выбор и придерживайтесь его. Согласованность гораздо важнее, чем если вы решите использовать такое соглашение об именах.