Che tu sappia queste aree di ram sono state largamente utilizzate dai programmatori nella scrittura di software (giochi o programmi di utilità) oppure la maggioranza dei programmi utilizzava sempre e comunque al massimo i 38k della ram basic?
Ma che domanda è? È chiaro che se la cosiddetta "RAM sotto la ROM" c'è, è perché un (buon) programmatore possa usarla, se fosse stata inutilizzabile non ce l'avrebbero messa e il C64 sarebbe stato ancora più economico.
E un (buon) programmatore, naturalmente, al bisogno (o dove dettato da maggiore efficienza) usa tutta la RAM utilizzabile, se non ne ha bisogno può anche decidere di non usarla e (come dici tu) limitarsi a quei 38 KB.
Stai sicuro che molti giochi e software in LM che non usano il BASIC disabilitano tranquillamente la rispettiva ROM, andando ad utilizzare la RAM "sottostante".
L'utilizzo della quale, comunque, è sì possibile solo in linguaggio macchina, ma non strettamente vincolato alla disabilitazione del BASIC: programmando opportunamente è possibile sfruttare comunque tutta la RAM andando a modificare la locazione 1 in maniera più o meno continuativa. È possibile estendere il BASIC utilizzando solo in parte la RAM normalmente visibile da BASIC ($8000-$9FFF o $C000-CFFF) e conservando routine in linguaggio macchina "sotto" la ROM del BASIC ($A000-$BFFF); il Simons' BASIC invece usa la RAM sotto il kernal per la pagina grafica ($E000-$FFFF, oltre all'intervallo $C000-$C3FF per gli attributi), permettendoti di utilizzare la modalità hires senza rinunciare a ulteriori KB oltre gli 8 sostituiti dalla cartuccia.