Interrupt Handler Setup
Figured it out.
I was missing the NVIC config for the ADC and for some unknow reason, the ADC_InitStructure was making the conversion left justified and turning on the DMA, DDS, CONT and EOCS bits in ADC3->CR2 register. So I stopped using that code and set up the registers manually.
The other issue was it was getting stuck in the default interrupt handler, so I copied in the STM32F4xx_it.c file from on of the demo projects and that seemed to fix it.