As you imply, FreeRTOS gives you both options. Some of the pros and cons of both are listed on the following page, so I won't repeat them here: http://www.freertos.org/Static_Vs_Dynamic_Memory_Allocation.html
Only you can answer your question though, as it depends on what your application is doing. The answer would be very different between whether your application is creating all its resources at boot time and then never deleting them, or if it is continuously creating and deleting lots of different sized memory blocks at run time. As this is a safety application I would be surprised if it was doing lots of memory allocation and deallocation at run time - but if it were you would have to concern yourself with memory fragmentation, dealing with heap exhaustion, and non deterministic behaviour of the memory allocater (not ever allocation takes the same time). Using heap_4.c in FreeRTOS should prevent fragmentation in most cases, but 'should' is probably not good enough for a safety application.
If all the resources are allocated dynamically, but only at boot time (which is actually the case for most application), then none of these potential pitfalls apply, and there is really no reason not to use dynamic memory.