I never programmed AS, but at first glance it looks to me asif the author decided that pointers are special and values are normal. Depending on where you're coming from, making an explicit difference between the two can make sense.
Eg if your previous experience is BASIC, the entire reference notion is unknown, so annotating references explicitly helps.
I don't know if you can do this in AS, but as the notation makes pointers explicit, “A = B” is different from “@A = @B”. You cannot do this in C# in this way, and need a “strange” notation like “A = B.clone()” or something like that. If you're not used to C#, that may look weird too. In other words, you can argue that C# is weird just as easily as you can for AS or any other language when you compare them.
That holds for all languages. Different people with different backgrounds experience a language differently. Not everybody has a C# background, what's natural to you may not be natural to someone else and vice versa.
In any case, I am not sure what you're trying to say. The language is what it is. It's not C# because its ideas are different. That holds for all languages. They are all unique.
Changing the meaning of eg “@A” is not an option either. There are a zillion lines of code written in the language. If you ever change something like the meaning of “A” or “@A”, all those zillion lines of code immediately die. Users will be angry, and that's something you want to avoid as language author.