I appreciate what you are saying so for each datapoint metric I want to plot the delta for, I do a normal counter and a normal gauge datapoint for the same oid. Then use ##POLLINTERVAL## in a Complex Datapoint to calculate previous value and from that the delta but I can see serious problems.
If the original datapoint is a counter say for example ifInOctets, typically used to plot bps of an interface and what I want to plot is the bps delta. Using your method, in the complex datapoint the normal counter datapoint would give me the current Bps rate and the normal gauge datapoint would give me the current raw counter value. Using your method I could calculate the previous raw counter value and as I already have the current raw counter value from the normal gauge datapoint I can calculate the raw counter delta. This is bytes shipped during the poll interval not the bps delta I'm after.
If the original datapoint is a gauge say for example Active Radius sessions and I want to plot Radius session delta. Using your method I can calculate the previous Radius Sessions delta if the number of sessions has increased if the sessions has decreased then the normal counter datapoint will look like a counter wrap and the value could be nonsense depending on how LM guards against counter wraps.