Тогда мне кажется проще сделать несколько шагов. 
1) Соединить все в один TImage, чтобы не плодить сущности. 
2) Хранить для каждого объекта его описывающую окружность - центр и минимальный радиус окружности, внутри которой находятся все точки объекта. 
3) Для всех объектов проверять сначала что курсор находится в этой окружности (чтобы исключить лишние сложные просчеты), и если находится - применять методы проверки принадлежности точки выпуклому многоугольнику, а невыпуклые объекты разбить на выпуклые. Можно разбить все объекты на треугольники, тогда для выпуклых и невыпуклых объектов будет единый алгоритм - принадлежность точки треугольнику. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |