To me the biggest lesson from APL is to always try to manipulate the largest data structure you can your hands on. For example, don't think about for-loops, think about 'map'. When you can do that, life is good.
The limitations of the language that I saw (in the mid 90s) were around interoperability. Devs saw it as esoteric and steered toward something more 'marketable' like C++ and later Java. The extensive use of memory mapped files for persistence made it 'viral' in terms of building apps to access data. The language (or more likely the library support) was great for pricing algorithms but not so great for business applications filled with corner cases. As I recall these were reasons it was phased out at Morgan Stanley.