I think this is a disaster in the making. First way too much bio load; second if the apisto pair up (you end up with m/f of each) there is going to be territory problems. I think I would get either the rummy nose or the cardinal or 8 of each instead of 15. I would also pick between the angel, agassizi or borelli and go for a pair. One advantage of the agassizi or borelli is that they are a lot smaller. The angelfish might look a bit out of place as it can be significantly larger (in my tank one of the angels is not too bad - maybe 5 or 5 1/2 but the other one is much larger - 7+ and that one would have difficulty in a 40B - while you could put 5 small angels in a 40B once they paired the others would have to be removed.
Also i would add a bottom scavenger - maybe 8 pygmy cory or 5 kuhli - if you go with the angel then a larger cory as it might treat the pygmy as dinner.
I have a pair of rams in a 29 and wouldn't dream of adding anything else that would be a target while they are spawning - the tank just isn't large enough. The 40B is a bit wider than the 29 but when I had one it just isn't enough - in my 120 the angels - after they paired up would not tolerate any other angels (they started in a group of 8); and they either killed the others or i had to remove them. They also killed a ram i had in the tank. Likewise in the 120 before the angels i tried 4 rams and after a pair formed they killed the others - just isn't enough space - the 120 is a bit larger than the 40B. My tanks are planted but that didn't help much...
Hey all - currently planning a 40 breeder, moderately heavy planted tank that I have just started a DSM for. Would really appreciate your recommendations for my stocking plan... I think it is currently a little borderline but hoping the plan will work out!
Rummy nose x15
Apisto agassizi x2
Apisto borelli x2