Reactive operator for distinct values that must change by amount
DistinctUntilChangedBy()
This method is public and therefore should do proper argument validation. Since this method is an extension-method, it could be called like:
ObservableExtensions.DistinctUntilChangedBy(someObservable, someDecimal);

If someObservableis null, your method would throw a NullReferenceException where an ArgumentNullException would be a better fit.
Equals(decimal, decimal)
Instead of returning diff &lt;= Math.Abs(amount) you could set the class variable amount in the constructor directly to the Abs(amount) of the passed argument:
this.amount = Math.Abs(amount)

That could speed it up if the Equals() method is called often.
GetHashCode(decimal)
Only if you are 100% sure that this method won't ever be called should you throw a NotSupportedException. See What's the role of GetHashCode in the IEqualityComparer&lt;T&gt; in .NET?