Pues yo creo que no quisieron ayudarle, y la razón es que los gobernantes de Cartago, que no eran militares sino mercaderes, temían que la victoria total de Aníbal le daría a este un enorme poder e iría en contra de sus intereses.
Aníbal pidió ayuda a Cartago porque necesitaba hombres y máquinas de asedio para el asalto de Roma y si estos hubieran querido, lo hubieran tenido fácil, porque Aníbal, se hizo con la ciudad de Capua y Cartago podía haber aprovechado esa ciudad costera para enviarle refuerzos rápidamente , sin tener que hacer la ruta terrestre que comentas.
Y hablábamos del año 216 a.C. Lo que comentas de la llegada de Escipión a África, incluso la ayuda de su hermano Asdrubal, ocurre varios años después, años en que Aníbal transita por Italia sin que Roma se atreva a plantarle batalla en campo abierto. Fíjate si tuvo tiempo y oportunidad Cartago de mandar refuerzos entre el año 216 a.c y los años que comentas en el último párrafo (cuando ya era tarde).
Bueno, que yo sepa Aníbal si recibió refuerzos desde Cartago por mar cuando controlaba el sur de Italia, pero fueron escasos porque el dominio marítimo lo tenía Roma...enviaron flotillas pequeñas capaces de burlar a los romanos, pero sin dominar el mar no podían enviar una flota grande con un ejercito a Italia, tenía que ser por tierra que es lo que hizo Asdrúbal en el 208.
Tambien a Cartago le interesaba controlar Hispania para asegurarse el suministro de mercenarios y de las minas de plata que eran las mas ricas que se conocían...sin eso no podían continuar la guerra, para mi la batalla decisiva fué Ilipa en el 205 a.C., donde perdieron el dominio de Hispania, a partir de ahí los cartagineses estaban muertos.
Seguramente alguien en Cartago se dió cuenta de que la guerra en Hispania era mas importante que ayudar a Anibal que se había quedado atascado en Italia en una guerra de desgaste y quizas tampoco por eso le mandaron mas ayuda (había una cierta disparidad de intereses).... pero yo creo que lo importante es que Cartago no tenía el control marítimo como en la I Guerra Punica y por eso Anibal recibió refuerzos con cuentagotas.
Y sobre el porqué Anibal no conquistó Roma despues de Cannas aparte que su ejercito estaba desgastado y sin maquinaria de asedio, yo creo que primero quiso asegurarse de que los aliados italianos de Roma se pasaran a su lado para asegurarse los suministros, hasta entonces su ejercito había vivido del saqueo en Italia, pero si asediaba Roma seguramente no tendría hombres suficientes para hacer las dos cosas. En Cannas los cartagineses tenían 40-45.000 soldados antes de la batalla....si tuvieron unas 15.000 bajas entre heridos y muertos les quedarían 25 o 30.000 de los cuales tendria que dedicar el 40-50% a buscar comida y guardar las bases y depositos de suministros....si alguien como Aníbal que hizo cosas en el límite de lo imposible para llegar ahí no intentó conquistar Roma es porque no podía, no veo otra razón.