Using "Replace variable with..." does not mark a blueprint as needing compilation.
Reproduced in 4.9.2 binary, 4.10.1 binary, and Main 4.12 (CL 2813214). This is not a regression; the same bug appears in 4.9.2 (reported in 4.10.1).
1. Open any project
2. Create a new Actor Blueprint
3. Drop the Actor Blueprint into the level
4. Add two Float variables with default value 0.0, Var1 and Var2
5. Begin Play > Set Var1 (12.0) > Print String (Var2>string)
6. Right click the Set Var1 > Replace Var1 variable with Var2
7. DO NOT COMPILE
The BP is not marked as needing compilation after Replace variable with, and the Print String prints 0.0 (Var1)
The BP requires compilation, after which Print String prints 12.0
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-24925 in the post.