settra:
if you had MAF in g/s then (MAF/4)/(CAMrpm/60) = air grams/rev*cylinder, so you would know exactly how much fuel was needed on each cylinder, based on your desired AFR.
Unfortunately MAF sensors don't really give you that. They return a signal which has some relationship with the mass air flow, but the relationship varies depending on the conditions - just as it does with MAP or throttle angle load sensing. The advantage of MAF is that the correlation (between the actual mass air flow, and the sensor value) tends to be greater which makes the mapping easier to get right and less vulnerable to small variations in the engine characteristics, but whatever sensor you use for load you still need to map that load signal to estimate the actual amount of air being drawn in.
By the way, in terms of understanding what problems you face, I think your greatest problem is going to be the complexity of the fueling algorithm needed to run an engine well (and the amount of configuration data needed by that algorithm, and the amount of effort needed to work out what the configuration values need to be based on trial and error). If you don't have a sufficiently sophisticated algorithm then every time you try to sort out inaccurate fueling under some conditions, you'll end up making it worse under different conditions. An engine's fuel injection requirements varies according to lots of factors. Making it harder to follow, many of the effects you're trying to deal with are transient and behave differently under different operating conditions which requires an even more complex control algorithm.
Re the crank/cam angle position sensing accuracy the hardest case to deal with is probably going to be cranking/starting, because this is where you will depend most on extrapolation and estimation of the crank position/speed. I think you could use either a crank or cam sensor as long as it gives you enough resolution, obviously if your fueling algorithm needs to know the engine phase then some form of cam sensing is essential. If you're only going to manage fueling then you can get away with quite poor resolution (one pulse per ignition event is perfectly adequate) but the better resolution you have the easier it is to get right. If you were going to manage the spark as well then you need much better resolution since the spark is obviously timing-critical whereas the fuel delivery is not very timing-critical.