It's hard to answer as we don't know the context the VB code is executed in. Is it in Page Load? Or somewhere else?
Your issue probably stems from a misunderstanding that RegisterClientScriptBlock is somehow running your javascript in code behind and that your .net code is running inside the browser and waits for your input and then does your "if" line after you click the confirmation in the browser. Well none of that is happening.
What RegisterClientScriptBlock is doing is adding that javascript to the output so that when all of your .net code has executed and all html has been built, that html is then sent to the browser and it is then that the javascript runs.
System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, GetType(Page), "Script", "Confirm();", True)
Dim confirmValue As String = Request.Form("confirm_value")
If confirmValue = "Yes" Then
Response.Write("User Clicked yes")
Else
Response.Write("User Clicked No")
End If