I mostly agree with Cestari on this but I would do something more like:

fpc 2.6.4 support primarily, 2.7 for extended funtionality (extra bits and pieces)
DX9 and up, OGL 2.1 with extensions and up (we at least want FBOs right?)
As for the enigne structure, I think I'd like to see more suggestions on this as I know there will be most likely be a different proposition from every individual and each will have their own reasons. I'll spare everyone the time to read my own thoughts as I wouldn't consider myself an expert in this domain.