From my knowledge strings are 1 based in Delphi, 0 position is reserved for the length. I am in charge of an huge application written in D5 and D2006, which is using the copy function by copying from the 0 index, and several colleagues are also coding in this way in this moment. Because this is a Delphi 'magic' function, I believe that even if Copy is used to copy the string from 0 index, behind the scenes it copies it from the position 1.
For me a good practice is to copy a string from the 1st position, not from the 0 position, even the result is the same.
Now, my question is, can be the application affected when passing to other Delphi version by using the copy function from 0 position instead of be used to copy from 1 position?