Is it fair to assume that you control the types which have "CustomPropertyOfControl"? If so, make them all implement an interface, and cast to that interface.
The point of a cast is to tell the compiler something you know that it doesn't - at compile time. Here you don't know the type at compile time. If you know some base class or interface, then you can tell the compiler that with no problem.
Now in C# 4 you could do this using dynamic typing:
private void ConvertToTypeAndUseCustomProperty(Control c)
{
dynamic d = c;
d.CustomPropertyOfControl = 234567;
}
However, even though you can do this, I'd still recommend sticking with static typing if at all possible - if you've got a group of types which all have some common functionality, give them a common interface.