There is no mystery here worth chasing through the weeds of VBA syntax, because the real issue is how Power Query handles query dependencies. Your four queries are not four independent refresh operations. Active Proposals is the foundation, and the other three are built on top of it. When you refresh Active Proposals, the engine should cascade that refresh to the dependent queries. But you are forcing all four to refresh in sequence, and two of them are quietly deciding they have nothing to do. That is not a bug. That is the query engine being polite about the fact that their source data has not changed.
What you are seeing is the difference between a forced refresh and a conditional refresh. When you right-click the table and choose refresh, you are telling that specific query to pull new data regardless. When you trigger the connection refresh through VBA, you are asking the engine to check whether the source has changed, and if it has not, it skips the step. Funded and Asked are likely set to background refresh off, or they have a load-to-worksheet setting that makes them appear unresponsive when the underlying source is unchanged. Changed refreshes because its transformation logic is different enough to trigger a new evaluation. Your VBA is not broken. Your assumptions about what refresh means are.
The practical takeaway is that you should stop micromanaging the refresh order and let the dependency graph do its job. Refresh Active Proposals first, then refresh the workbook connections that depend on it, but do not force all four in a rigid sequence. Instead, use `ThisWorkbook.RefreshAll` or restructure the query so the dependent queries inherit the refresh trigger from the parent. If you must keep the VBA, add a line to clear the cache on the dependent queries before refreshing them, which forces them to re-evaluate. That is the difference between asking the engine to check for changes and telling it to ignore the cache entirely.
The real insight here is that your workflow is not four tasks. It is one task with three views. Treat it that way. Simplify the script to refresh the source query, then let the dependent queries follow. If they still do not respond, check the query properties and ensure the "Enable background refresh" option is unchecked for those two. That setting is the most common culprit for silent skips. You are not fighting a stubborn spreadsheet. You are fighting a system that is trying to save you time by not redoing work it already knows is current. Learn what it is telling you, and the problem disappears.