Hey, even though this reply is some 5+ months after the post, I thought I would make a reply, since I've got what appears to be the cause (& solution) - especially since my Google search of "controls_labelcontrol_ascx" is not defined only got this single forum posting!
Whenever you have a generalized @Regsiter directive (to get a "suite" of DNN controls) at the start of an .ascx page alongside a specific @Register directive targeting a single control, there might be a "collision" if the specific @Register's control is also named in the generalized @Register's suite.
For example, I had the following on my page:
<%
@ Register TagPrefix="dnn" Assembly="DotNetNuke" Namespace="DotNetNuke.UI.WebControls" %>
<%
@ Register TagPrefix="dnn" TagName="Label" Src="~/controls/labelcontrol.ascx" %>
I was trying to use the dnn:Label control, but it is definable through either @Register, so the compiler couldn't know which one I wanted.
My solution was to delete the generalized directive (the first one) in favor of the more specific directives that target a source. An alternative might be to have the first @Register use a different tag prefix (if it turns out you can't just drop the "suite" of webcontrols in DNN for your particular page).
I hope that helps anyone else who Googles their DNN errors.