I've been toying around with PIC processors for awhile and I've always written CALL statements. It's nice to have repeatable functions and it makes the code easier to read.
Recently my CPU crashed and after hours of research, checking over hardware, etc., I discovered that it actually ran out of stack space. I suspect that I had too many levels of call statements (more than 10 deep at times). I took out a few and fixed it.
The other day I came across a message that said to "never use CALL statements" in assembly. The reason is, you're relying on memory reads/writes and memory on PICs can and will fail leading to hours of troubleshooting and/or strange operation (kind of like my experience).
Should this be a major concern? Should I remove the CALL statements and just use sloppy GOTOs instead? Or was the author overboard?