I have the same problem, logical volume with a partition table inside it.
lsof and fuser report nothing open.
mount, mtab, and proc/mount report it as not mounted.
so I do a kpartx -d /dev/vg/lvname
and ensure
multipathd -d -v3 -ll
reports no usage
I still can't lvremove /dev/vg/lvname
I cannot get partprobe or (ugh) reboots to update any partition information. in /dev/vg
no luck in getting device mapper to relinquish its hold either via:
dmsetup remove /dev/vg/lvname
Here is my setup
[root@uk1 ~]# lvm version
LVM version: 2.02.26-RHEL5 (2007-08-09)
Library version: 1.02.20 (2007-06-15)
Driver version: 4.11.0
and I was going to go on ...
but found that the /dev/vg symlinks are not updated from /dev/mapper/vg--
The trick for me was to check no mapper devices were active for that lv,
i.e. by deleting /dev/mapper/vg--lvpX or removing partitions via parted/fdisk

works now.